on master help sign in
add isNaN and isFinite as native functions
commit34c3112f68a9fe52b7fa347a99193b3baf76f1df authorEvan Czaplicki <info@elm-lang.org> dateThu 20 Mar 2014, 15:37 (13 years ago) parenta5ee99d
2 files changed+16
libraries/Basics.elm+14 libraries/Native/Basics.js+2
libraries/Basics.elm+14
@@ -30,6 +30,9 @@ are your tuples so big?
3030# Number Conversions
3131@docs round, floor, ceiling, truncate, toFloat
3232
33+# Floating Point Checks
34+@docs isNaN, isFinite
35+
3336# Angle Conversions
3437All angle conversions result in &ldquo;standard Elm angles&rdquo;
3538which happen to be radians.
@@ -271,6 +274,17 @@ ceiling = Native.Basics.ceiling
271274toFloat : Int -> Float
272275toFloat = Native.Basics.toFloat
273276
277+{- | Determines whether a float is an undefined or unrepresentable number,
278+such as 0/0. NaN stands for *not a number*.
279+-}
280+isNaN : Float -> Bool
281+isNaN = Native.Basics.isNaN
282+
283+{- | Determines whether a float is finite. Positive and negative infinity are
284+valid floating point numbers, created by computations like `1/0` and `-1/0`.
285+-}
286+isFinite : Float -> Bool
287+isFinite = Native.Basics.isFinite
274288
275289-- Function Helpers
276290
libraries/Native/Basics.js+2
@@ -53,6 +53,8 @@ Elm.Native.Basics.make = function(elm) {
5353 floor:Math.floor,
5454 round:Math.round,
5555 toFloat:function(x) { return x; },
56+ isNaN:isNaN,
57+ isFinite:isFinite
5658 };
5759
5860 return elm.Native.Basics.values = basics;