# Finite smallest float in Julia

**URL:** <https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805>\
**Category:** New to Julia\
**Created:** [July 9, 2020, 9:19pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805 "2020-07-09T21:19:19Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![rogeriog](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rogeriog/32/16255_2.png) [@rogeriog](https://discourse.julialang.org/u/rogeriog)\
**Post date:** [July 9, 2020, 9:19pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/1 "2020-07-09T21:19:19Z")

</div>

I have a program in C++ which uses the definition of smallest finite double  
`double FPMIN = std::numeric_limits<double>::min() / EPS;`  
From reference: [std::numeric\_limits\<T\>::min - cppreference.com](https://en.cppreference.com/w/cpp/types/numeric_limits/min)  
I’m trying to translate this program in Julia. However, Julia doesnt return a finite value when I run:

```julia
> typemin(Float64)/eps()
-Inf

```

Any suggestions on how I can get the smallest finite float or a good approximation to circumvent this problem?

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [July 9, 2020, 9:22pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/2 "2020-07-09T21:22:35Z")

</div>

`nextfloat(0.0)`?

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [July 9, 2020, 9:24pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/3 "2020-07-09T21:24:28Z")

</div>

You are probably looking for `floatmin`.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [July 9, 2020, 9:24pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/4 "2020-07-09T21:24:32Z")

</div>

to add, your original snippet won’t work because

```julia
julia> typemin(Float64)
-Inf

```

---

<div class="post-metadata">

**Author:** ![rogeriog](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rogeriog/32/16255_2.png) [@rogeriog](https://discourse.julialang.org/u/rogeriog)\
**Post date:** [July 9, 2020, 9:30pm UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/5 "2020-07-09T21:30:45Z")

</div>

Yes floatmin(), solves my problem!  
Nextfloat(0.0) gives a very small number and seems to work, but for this particular code where I take 1/FPMIN later it returns Inf not being applicable.

---

<div class="post-metadata">

**Author:** ![tkoolen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkoolen/32/1603_2.png) [@tkoolen](https://discourse.julialang.org/u/tkoolen)\
**Post date:** [July 10, 2020, 12:02am UTC](https://discourse.julialang.org/t/finite-smallest-float-in-julia/42805/6 "2020-07-10T00:02:51Z")

</div>

`floatmin` returns “the smallest in absolute value non-subnormal value representable” (from doc). `nextfloat(0.0)` is subnormal.
