1signature Arbnumcore = 2sig 3 4 eqtype num 5 6 val zero : num 7 val one : num 8 val two : num 9 10 val times2 : num -> num 11 val div2 : num -> num 12 val mod2 : num -> num 13 val log2 : num -> num 14 15 val plus1 : num -> num 16 val plus2 : num -> num 17 val less1 : num -> num 18 val less2 : num -> num 19 20 val toString : num -> string 21 val toBinString : num -> string 22 val toOctString : num -> string 23 val toHexString : num -> string 24 25 val fromString : string -> num (* decimal *) 26 val genFromString : StringCvt.radix -> string -> num 27 val fromHexString : string -> num 28 val fromOctString : string -> num 29 val fromBinString : string -> num 30 31 val fromInt : int -> num (* raises Overflow if i < 0 *) 32 val fromLargeInt: LargeInt.int -> num (* raises Overflow if i < 0 *) 33 val toInt : num -> int (* raises Overflow if n > maxInt *) 34 val toLargeInt : num -> LargeInt.int 35 36 val floor : real -> num (* raises Overflow if r < 0 *) 37 val toReal : num -> real 38 39 val asList : num -> int list 40 41 val + : num * num -> num 42 val - : num * num -> num 43 val * : num * num -> num 44 val pow : num * num -> num 45 val div : num * num -> num 46 val mod : num * num -> num 47 val divmod : num * num -> num * num 48 val gcd : num * num -> num 49 val isqrt : num -> num 50 51 val < : num * num -> bool 52 val <= : num * num -> bool 53 val > : num * num -> bool 54 val >= : num * num -> bool 55 56 val compare : num * num -> order 57 58end 59