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 toInt : num -> int (* raises Overflow if n > maxInt *) 33 34 val floor : real -> num (* raises Overflow if r < 0 *) 35 val toReal : num -> real 36 37 val asList : num -> int list 38 39 val + : num * num -> num 40 val - : num * num -> num 41 val * : num * num -> num 42 val pow : num * num -> num 43 val div : num * num -> num 44 val mod : num * num -> num 45 val divmod : num * num -> num * num 46 val gcd : num * num -> num 47 val isqrt : num -> num 48 49 val < : num * num -> bool 50 val <= : num * num -> bool 51 val > : num * num -> bool 52 val >= : num * num -> bool 53 54 val compare : num * num -> order 55 56end 57