Integer Int_cons(int Sgn, int Len, c_byte Dig[])
| constructs an integer from sign 'Sgn', length 'Len' and digits 'Dig'
|
void Int_des(Integer x, int *Sgn, int *Len, c_byte **Dig)
| destructs an integer into sign 'Sgn', length 'Len' and digits 'Dig'
|
Integer Int_copy(Integer a)
| copies integer 'a'
|
void Int_free(Integer a)
| frees integer 'a'
|
void Int_show(Integer a)
| prints integer 'a' to stdout; for debugging
|
c_string Int_itoa(Integer a, int Base)
| converts integer 'a' into a string; allocs memory
|
c_bool Int_s_ok(c_string s, int Base)
| whether string 's' represents an integer; not consuming 's'
|
Integer Int_atoi(c_string sn, int Base)
| converts string 'sn' into a number; not consuming 'sn'
|
Integer Int_Cto(long a)
| converts long 'a' into an integer
|
c_bool Int_okC(Integer n)
| whether integer 'n' can be converted into a long
|
long Int_toC(Integer n)
| converts integer 'n' into a long
|
c_bool Int_is0(Integer x)
| x == 0 ?
|
int Int_cmp(Integer a, Integer b)
| a < b ? -1 : a == b ? 0 : +1
|
c_bool Int_eq(Integer a, Integer b)
| a == b ?
|
c_bool Int_ne(Integer a, Integer b)
| a != b ?
|
c_bool Int_lt(Integer a, Integer b)
| a < b ?
|
c_bool Int_le(Integer a, Integer b)
| a <= b ?
|
c_bool Int_gt(Integer a, Integer b)
| a > b ?
|
c_bool Int_ge(Integer a, Integer b)
| a >= b ?
|
int Int_sgn(Integer a)
| signum of integer 'a'
|
Integer Int_abs(Integer a)
| absolute value |a|
|
Integer Int_neg(Integer a)
| negation -a
|
Integer Int_add(Integer a, Integer b)
| addition a + b
|
Integer Int_sub(Integer a, Integer b)
| substraction a - b
|
Integer Int_mlt(Integer a, Integer b)
| multiplication a * b
|
Integer Int_quo(Integer a, Integer b)
| division a / b
|
Integer Int_rem(Integer a, Integer b)
| remainder a % b
|
void Int_quo_rem(Integer a, Integer b, Integer *quo, Integer *rem)
| *quo = a/b; *rem = a%b
|
Integer Int_gcd(Integer a, Integer b)
| greatest common divisor of integer 'a' and 'b'
|
Integer Int_exp(Integer b, long n)
| exponent b ^ n
|