# \[ANN\] LogarithmicNumbers.jl v1.0.0

**URL:** https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305
**Category:** Package Announcements
**Tags:** numbers
**Created:** [March 22, 2022, 9:03pm UTC](https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305 "2022-03-22T21:03:52Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![cjdoris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cjdoris/32/213133_2.png) [@cjdoris](https://discourse.julialang.org/u/cjdoris)
#### Post date: [March 22, 2022, 9:03pm UTC](https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305/1 "2022-03-22T21:03:52Z")

</div>

[LogarithmicNumbers.jl](https://github.com/cjdoris/LogarithmicNumbers.jl) is a logarithmic number system for Julia.

It provides signed `Logarithmic{T}` and unsigned `ULogarithmic{T}` real number types which store the logarithm of the number. This means you can represent really huge or tiny numbers - useful for things like computing extremely small probabilities.

As I’ve had some interest in it lately, I have tidied up this package, added loads of unit tests, fixed some bugs and called it v1.0.

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [March 23, 2022, 6:28am UTC](https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305/2 "2022-03-23T06:28:56Z")

</div>

Great work, thanks! Gonna try it on my HMM code 🙂

---

<div class="post-metadata">

### Author: ![oschulz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oschulz/32/2998_2.png) [@oschulz](https://discourse.julialang.org/u/oschulz)
#### Post date: [March 23, 2022, 9:37am UTC](https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305/3 "2022-03-23T09:37:37Z")

</div>

I saw that LogarithmicNumbers currently adds additional log-numbers-related features to Distributions, StatsFuns and SpecialFunctions. I wonder - if the package is lightweight enough, maybe those packages could actually depend on LogarithmicNumbers? I think there might be interesting possibilities, long-term - for example, `cdf` could return a logarithmic number in cases where it would just return `exp(logcdf(...))` and so on.

CC @devmotion, @mschauer, @andreasnoack

---

<div class="post-metadata">

### Author: ![devmotion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/devmotion/32/9201_2.png) [@devmotion](https://discourse.julialang.org/u/devmotion)
#### Post date: [March 23, 2022, 10:08am UTC](https://discourse.julialang.org/t/ann-logarithmicnumbers-jl-v1-0-0/78305/4 "2022-03-23T10:08:50Z")

</div>

> for example, `cdf` could return a logarithmic number in cases where it would just return `exp(logcdf(...))` and so on.

I’m not sure if this is desirable. I imagine that it would be quite surprising if sometimes logarithmic numbers are returned and in many cases you would have to convert the values to standard number types anyway since many functions don’t support logarithmic types (similar to operator overloading AD such as `ForwardDiff.Dual`). More importantly, it seems you could just use `logcdf` and wrap the output as a logarithmic number if desired, couldn’t you?
