Additional basic functions.
The maximum safe value for an integer, defined as 2^53 - 1. Anything
larger than that and behaviour becomes mathematically unsound.
maxSafeInteger + 1 --> maxSafeInteger + 2The minimum safe value for an integer, defined as -(2^53 - 1). Anything
smaller than that, and behaviour becomes mathematically unsound.
minSafeInteger - 1 --> minSafeInteger - 2Checks if a given integer is within the safe range, meaning it is between
-(2^53 - 1) and 2^53 - 1.
isSafeInteger 5 --> True
isSafeInteger maxSafeInteger --> True
isSafeInteger (maxSafeInteger + 1) --> FalseDefines an upper bound for a variable.
42 |> atMost 0 --> 0
-42 |> atMost 0 --> -42Defines a lower bound for a variable.
-42 |> atLeast 0 --> 0
42 |> atLeast 0 --> 42Perform floating-point division (like Elm's / operator) that will never
crash the app. If the y argument in safeDivide x y is zero, we return Nothing.
safeDivide 5 2 --> Just 2.5
-- the interesting part
safeDivide 5 0 --> NothingPerform integer division (like Elm's // operator) that will never crash
the app. If the y argument in safeIntegerDivide x y is zero, we return Nothing.
safeIntegerDivide 5 2 --> Just 2
-- the interesting part
safeIntegerDivide 5 0 --> NothingPerform modular arithmetic that will never crash the app. If the modulus
argument in safeModBy modulus x is zero, we return Nothing.
safeModBy 2 4 --> Just 0
safeModBy 2 5 --> Just 1
-- the interesting part
safeModBy 0 4 --> NothingUse safeRemainderBy for a different treatment of negative
numbers, or read Daan Leijen’s Division and Modulus for Computer Scientists
for more information.
Get the remainder after division in a way that will never crash the app. If
the divisor argument in safeRemainderBy divisor x is zero, we return Nothing.
safeRemainderBy 2 4 --> Just 0
safeRemainderBy 2 5 --> Just 1
-- the interesting part
safeRemainderBy 0 4 --> NothingUse safeModBy for a different treatment of negative
numbers, or read Daan Leijen’s Division and Modulus for Computer Scientists
for more information.
Perform modular arithmetic involving floating point numbers.
The sign of the result is the same as the sign of the modulus
in fractionalModBy modulus x.
fractionalModBy 2.5 5 --> 0
fractionalModBy 2 4.5 == 0.5
fractionalModBy 2 -4.5 == 1.5
fractionalModBy -2 4.5 == -1.5Convert standard Elm angles (radians) to degrees.
inDegrees (turns 2) --> 720
inDegrees pi --> 180Convert standard Elm angles (radians) to radians.
inRadians (degrees 90) == pi / 2
inRadians (turns 1) == 2 * piConvert standard Elm angles (radians) to turns. One turn is equal to 360°.
inTurns (degrees 180) == 0.5
inTurns (3 * pi) == 1.5Flip the order of the first two arguments to a function.
Change how arguments are passed to a function. This splits paired arguments into two separate arguments.
Change how arguments are passed to a function. This combines two arguments into a single pair.
Swaps the elements in a pair.