diff options
Diffstat (limited to 'src/content/chapter0_basics/lesson05_floats/text.html')
-rw-r--r-- | src/content/chapter0_basics/lesson05_floats/text.html | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/content/chapter0_basics/lesson05_floats/text.html b/src/content/chapter0_basics/lesson05_floats/text.html index cc993c4..1b56d73 100644 --- a/src/content/chapter0_basics/lesson05_floats/text.html +++ b/src/content/chapter0_basics/lesson05_floats/text.html @@ -1,15 +1,27 @@ <p>Gleam's <code>Float</code> type represents numbers that are not integers.</p> <p> - Unlike many languages Gleam does not have a <code>NaN</code> or - <code>Infinity</code> float value. + Gleam's numerical operators are not overloaded, so there are dedicatated + operators for working with floats. </p> <p> - Gleam's numerical operators are not overloaded, so there are dedictated - operators for working with floats. + Floats are represented as 64 bit floating point numbers on both the Erlang and + JavaScript runtimes. The floating point behaviour is native to their + respective runtimes, so their exact behaviour will be slightly different + on the two runtimes. +</p> +<p> + Under the JavaScript runtime, exceeding the maximum (or minimum) representable + value for a floating point value will result in <code>Infinity</code> (or + <code>-Infinity</code>). Should you try to divide two infinities you will + get <code>NaN</code> as a result. +</p> +<p> + When running on the BEAM any overflow will raise an error. So there is + no <code>NaN</code> or <code>Infinity</code> float value in the Erlang + runtime. </p> <p> - Floats are represented as 64 bit floating point numbers on both Erlang and - JavaScript runtimes. + Division by zero will not overflow, but is instead defined to be zero. </p> <p> The |