# \[ANN\] ExtremeFloats.jl: Floats with extended range of exponents

**URL:** <https://discourse.julialang.org/t/ann-extremefloats-jl-floats-with-extended-range-of-exponents/78164>\
**Category:** Package Announcements\
**Tags:** package, announcement, numerics, precision, extended-precision\
**Created:** [March 20, 2022, 3:21pm UTC](https://discourse.julialang.org/t/ann-extremefloats-jl-floats-with-extended-range-of-exponents/78164 "2022-03-20T15:21:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![a5sk6n](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/a5sk6n/32/34716_2.png) [@a5sk6n](https://discourse.julialang.org/u/a5sk6n)\
**Post date:** [March 20, 2022, 3:21pm UTC](https://discourse.julialang.org/t/ann-extremefloats-jl-floats-with-extended-range-of-exponents/78164/1 "2022-03-20T15:21:51Z")

</div>

[ExtremeFloats.jl](https://github.com/andreasKroepelin/ExtremeFloats.jl) is a new package that allows you to perform floating point operations with a very large range of exponents. `Float64` offers 11 bits for the exponent, `ExtremeFloat` gives you 64 bits. This is especially useful for exponentiation and logarithms of large positive and negative numbers.

It is a registered package and can be used via `]add ExtremeFloats`. See the [GitHub page](https://github.com/andreasKroepelin/ExtremeFloats.jl) for details. Using it is as easy as

```julia
using ExtremeFloats

x = ExtremeFloat(2.71828)
y = ExtremeFloat(-10_000)

result = 2x + exp(y)/x
as_float64 = Float64(result)

```

This package was created out of necessity during work on my master thesis and is therefore quite limited in its capabilities, at the moment – I only implemented what I needed. But maybe it is still helpful for those who feel limited by the orders of magnitude other high-precision libraries allow for or by the excessive dynamic memory allocations of arbitrary-precision libraries.

---

<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 20, 2022, 4:20pm UTC](https://discourse.julialang.org/t/ann-extremefloats-jl-floats-with-extended-range-of-exponents/78164/2 "2022-03-20T16:20:37Z")

</div>

You could include `ULogFloat64` from [https://github.com/cjdoris/LogarithmicNumbers.jl](https://github.com/cjdoris/LogarithmicNumbers.jl) in your benchmarks.
