Switch isFinite to isInfinite and improve documentation
This commit is contained in:
parent
804d895362
commit
ef19d7146d
2 changed files with 24 additions and 10 deletions
|
@ -30,9 +30,6 @@ are your tuples so big?
|
||||||
# Number Conversions
|
# Number Conversions
|
||||||
@docs round, floor, ceiling, truncate, toFloat
|
@docs round, floor, ceiling, truncate, toFloat
|
||||||
|
|
||||||
# Floating Point Checks
|
|
||||||
@docs isNaN, isFinite
|
|
||||||
|
|
||||||
# Angle Conversions
|
# Angle Conversions
|
||||||
All angle conversions result in “standard Elm angles”
|
All angle conversions result in “standard Elm angles”
|
||||||
which happen to be radians.
|
which happen to be radians.
|
||||||
|
@ -42,6 +39,9 @@ which happen to be radians.
|
||||||
# Polar Coordinates
|
# Polar Coordinates
|
||||||
@docs toPolar, fromPolar
|
@docs toPolar, fromPolar
|
||||||
|
|
||||||
|
# Floating Point Checks
|
||||||
|
@docs isNaN, isInfinite
|
||||||
|
|
||||||
# Tuples
|
# Tuples
|
||||||
@docs fst, snd
|
@docs fst, snd
|
||||||
|
|
||||||
|
@ -274,17 +274,30 @@ ceiling = Native.Basics.ceiling
|
||||||
toFloat : Int -> Float
|
toFloat : Int -> Float
|
||||||
toFloat = Native.Basics.toFloat
|
toFloat = Native.Basics.toFloat
|
||||||
|
|
||||||
{- | Determines whether a float is an undefined or unrepresentable number,
|
{- | Determines whether a float is an undefined or unrepresentable number.
|
||||||
such as 0/0. NaN stands for *not a number*.
|
NaN stands for *not a number* and it is [a standardized part of floating point
|
||||||
|
numbers](http://en.wikipedia.org/wiki/NaN).
|
||||||
|
|
||||||
|
isNaN (0/0) == True
|
||||||
|
isNaN (sqrt -1) == True
|
||||||
|
isNaN (1/0) == False -- infinity is a number
|
||||||
|
isNaN 1 == False
|
||||||
-}
|
-}
|
||||||
isNaN : Float -> Bool
|
isNaN : Float -> Bool
|
||||||
isNaN = Native.Basics.isNaN
|
isNaN = Native.Basics.isNaN
|
||||||
|
|
||||||
{- | Determines whether a float is finite. Positive and negative infinity are
|
{- | Determines whether a float is positive or negative infinity.
|
||||||
valid floating point numbers, created by computations like `1/0` and `-1/0`.
|
|
||||||
|
isInfinite (0/0) == False
|
||||||
|
isInfinite (sqrt -1) == False
|
||||||
|
isInfinite (1/0) == True
|
||||||
|
isInfinite 1 == False
|
||||||
|
|
||||||
|
Notice that NaN is not infinite! For float `n` to be finite implies that
|
||||||
|
`not (isInfinite n || isNaN n)` evaluates to `True`.
|
||||||
-}
|
-}
|
||||||
isFinite : Float -> Bool
|
isInfinite : Float -> Bool
|
||||||
isFinite = Native.Basics.isFinite
|
isInfinite = Native.Basics.isInfinite
|
||||||
|
|
||||||
-- Function Helpers
|
-- Function Helpers
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ Elm.Native.Basics.make = function(elm) {
|
||||||
return Utils.cmp(n,lo) < 0 ? lo : Utils.cmp(n,hi) > 0 ? hi : n; }
|
return Utils.cmp(n,lo) < 0 ? lo : Utils.cmp(n,hi) > 0 ? hi : n; }
|
||||||
function xor(a,b) { return a !== b; }
|
function xor(a,b) { return a !== b; }
|
||||||
function not(b) { return !b; }
|
function not(b) { return !b; }
|
||||||
|
function isInfinite(n) { return n === Infinity || n === -Infinity }
|
||||||
|
|
||||||
function truncate(n) { return n|0; }
|
function truncate(n) { return n|0; }
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@ Elm.Native.Basics.make = function(elm) {
|
||||||
round:Math.round,
|
round:Math.round,
|
||||||
toFloat:function(x) { return x; },
|
toFloat:function(x) { return x; },
|
||||||
isNaN:isNaN,
|
isNaN:isNaN,
|
||||||
isFinite:isFinite
|
isInfinite:isInfinite
|
||||||
};
|
};
|
||||||
|
|
||||||
return elm.Native.Basics.values = basics;
|
return elm.Native.Basics.values = basics;
|
||||||
|
|
Loading…
Reference in a new issue