aboutsummaryrefslogtreecommitdiff
path: root/src/content/chapter0_basics/lesson05_floats/text.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/chapter0_basics/lesson05_floats/text.html')
-rw-r--r--src/content/chapter0_basics/lesson05_floats/text.html24
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