|
#define | ML99_inc(x) ML99_call(ML99_inc, x) |
| \(x + 1\) More...
|
|
#define | ML99_dec(x) ML99_call(ML99_dec, x) |
| \(x - 1\) More...
|
|
#define | ML99_natMatch(x, matcher) ML99_call(ML99_natMatch, x, matcher) |
| Matches x against the two cases: if it is zero or positive. More...
|
|
#define | ML99_natMatchWithArgs(x, matcher, ...) ML99_call(ML99_natMatchWithArgs, x, matcher, __VA_ARGS__) |
| The same as ML99_natMatch but provides additional arguments to all branches. More...
|
|
#define | ML99_natEq(x, y) ML99_call(ML99_natEq, x, y) |
| \(x = y\) More...
|
|
#define | ML99_natNeq(x, y) ML99_call(ML99_natNeq, x, y) |
| \(x \neq y\) More...
|
|
#define | ML99_greater(x, y) ML99_call(ML99_greater, x, y) |
| \(x > y\) More...
|
|
#define | ML99_greaterEq(x, y) ML99_call(ML99_greaterEq, x, y) |
| \(x \geq y\) More...
|
|
#define | ML99_lesser(x, y) ML99_call(ML99_lesser, x, y) |
| \(x < y\) More...
|
|
#define | ML99_lesserEq(x, y) ML99_call(ML99_lesserEq, x, y) |
| \(x \leq y\) More...
|
|
#define | ML99_add(x, y) ML99_call(ML99_add, x, y) |
| \(x + y\) More...
|
|
#define | ML99_sub(x, y) ML99_call(ML99_sub, x, y) |
| \(x - y\) More...
|
|
#define | ML99_mul(x, y) ML99_call(ML99_mul, x, y) |
| \(x * y\) More...
|
|
#define | ML99_div(x, y) ML99_call(ML99_div, x, y) |
| \(\frac{x}{y}\) More...
|
|
#define | ML99_divChecked(x, y) ML99_call(ML99_divChecked, x, y) |
| Like ML99_div but returns ML99_nothing() is x is not divisible by y , otherwise ML99_just(result) . More...
|
|
#define | ML99_mod(x, y) ML99_call(ML99_mod, x, y) |
| Computes the remainder of division. More...
|
|
#define | ML99_add3(x, y, z) ML99_call(ML99_add3, x, y, z) |
| \(x + y + z\) More...
|
|
#define | ML99_sub3(x, y, z) ML99_call(ML99_sub3, x, y, z) |
| \(x - y - z\) More...
|
|
#define | ML99_mul3(x, y, z) ML99_call(ML99_mul3, x, y, z) |
| \(x * y * z\) More...
|
|
#define | ML99_div3(x, y, z) ML99_call(ML99_div3, x, y, z) |
| \(\frac{(\frac{x}{y})}{z}\) More...
|
|
#define | ML99_min(x, y) ML99_call(ML99_min, x, y) |
| \(min(x, y)\) More...
|
|
#define | ML99_max(x, y) ML99_call(ML99_max, x, y) |
| \(max(x, y)\) More...
|
|
#define | ML99_assertIsNat(x) ML99_call(ML99_assertIsNat, x) |
| Emits a fatal error if x is not a natural number, otherwise results in emptiness. More...
|
|
#define | ML99_INC(x) ML99_PRIV_INC(x) |
|
#define | ML99_DEC(x) ML99_PRIV_DEC(x) |
|
#define | ML99_NAT_EQ(x, y) ML99_PRIV_NAT_EQ(x, y) |
|
#define | ML99_NAT_NEQ(x, y) ML99_PRIV_NOT(ML99_NAT_EQ(x, y)) |
|
#define | ML99_DIV_CHECKED(x, y) ML99_PRIV_DIV_CHECKED(x, y) |
|
#define | ML99_NAT_MAX 255 |
| The maximum value of a natural number, currently 255.
|
|
Natural numbers: [0; 255].
Most of the time, natural numbers are used for iteration; they are not meant for CPU-bound tasks such as Fibonacci numbers or factorials.