A class used to represent multiprecision integers that makes efficient use of allocated space
by allowing a number to occupy only part of an array so that the arrays do not have to be
reallocated as often. When performing an operation with many iterations the array used to
hold a number is only reallocated when necessary and does not have to be the same size as
the number it represents. A mutable number allows calculations to occur on the same number
without having to create a new number for every step of the calculation as it occurs with
NUMBERs.
Holds the magnitude of Current in natural order (the most significant INTEGER_32 word
has the highest address).
To avoid many reallocation of this storage area, only some
words are significant. The magnitude is stored in the following significant
range [offset .. offset + integer_length - 1].
The one word divisor
specified by divisor is saw as unsigned.
Current is the dividend (saw positive) at invocation but is replaced by
the quotient. The remainder is returned as unsigned INTEGER.
Note: Current is modified by this method.
A value that is equal to Current if it is between the limits set by
a_min and a_max.
Otherwise it's a_min if Current is smaller or a_max if Current
is greater
It's a shortcut for Current.min(a_max).max(a_min) also known as
"clamp" in the widespread C library Glib