| 1 | signature PRE_REAL_GLOBAL = |
| 2 | sig |
| 3 | type real |
| 4 | structure Math: MATH where type real = real |
| 5 | end |
| 6 | |
| 7 | signature PRE_REAL = |
| 8 | sig |
| 9 | include PRE_REAL_GLOBAL |
| 10 | |
| 11 | val * : real * real -> real |
| 12 | val *+ : real * real * real -> real |
| 13 | val *- : real * real * real -> real |
| 14 | val + : real * real -> real |
| 15 | val - : real * real -> real |
| 16 | val / : real * real -> real |
| 17 | val < : real * real -> bool |
| 18 | val <= : real * real -> bool |
| 19 | val == : real * real -> bool |
| 20 | val > : real * real -> bool |
| 21 | val >= : real * real -> bool |
| 22 | val ?= : real * real -> bool |
| 23 | val ~ : real -> real |
| 24 | val abs: real -> real |
| 25 | |
| 26 | val realSize: Primitive.Int32.int |
| 27 | val exponentBias: Primitive.Int32.int |
| 28 | val precision: Primitive.Int32.int |
| 29 | val radix: Primitive.Int32.int |
| 30 | |
| 31 | val frexp: real * C_Int.int ref -> real |
| 32 | val ldexp: real * C_Int.int -> real |
| 33 | val modf: real * real ref -> real |
| 34 | |
| 35 | val round: real -> real |
| 36 | val realCeil: real -> real |
| 37 | val realFloor: real -> real |
| 38 | val realTrunc: real -> real |
| 39 | |
| 40 | val gdtoa: real * C_Int.t * C_Int.t * C_Int.t * C_Int.t ref -> C_String.t |
| 41 | val strtor: Primitive.NullString8.t * C_Int.t -> real |
| 42 | |
| 43 | val fromInt8Unsafe: Primitive.Int8.int -> real |
| 44 | val fromInt16Unsafe: Primitive.Int16.int -> real |
| 45 | val fromInt32Unsafe: Primitive.Int32.int -> real |
| 46 | val fromInt64Unsafe: Primitive.Int64.int -> real |
| 47 | |
| 48 | val fromReal32Unsafe: Primitive.Real32.real -> real |
| 49 | val fromReal64Unsafe: Primitive.Real64.real -> real |
| 50 | |
| 51 | val fromWord8Unsafe: Primitive.Word8.word -> real |
| 52 | val fromWord16Unsafe: Primitive.Word16.word -> real |
| 53 | val fromWord32Unsafe: Primitive.Word32.word -> real |
| 54 | val fromWord64Unsafe: Primitive.Word64.word -> real |
| 55 | |
| 56 | val toInt8Unsafe: real -> Primitive.Int8.int |
| 57 | val toInt16Unsafe: real -> Primitive.Int16.int |
| 58 | val toInt32Unsafe: real -> Primitive.Int32.int |
| 59 | val toInt64Unsafe: real -> Primitive.Int64.int |
| 60 | |
| 61 | val toReal32Unsafe: real -> Primitive.Real32.real |
| 62 | val toReal64Unsafe: real -> Primitive.Real64.real |
| 63 | |
| 64 | val toWord8Unsafe: real -> Primitive.Word8.word |
| 65 | val toWord16Unsafe: real -> Primitive.Word16.word |
| 66 | val toWord32Unsafe: real -> Primitive.Word32.word |
| 67 | val toWord64Unsafe: real -> Primitive.Word64.word |
| 68 | end |
| 69 | |
| 70 | signature REAL_GLOBAL = |
| 71 | sig |
| 72 | include PRE_REAL_GLOBAL |
| 73 | |
| 74 | val round: real -> Int.int |
| 75 | val trunc: real -> Int.int |
| 76 | val ceil: real -> Int.int |
| 77 | val floor: real -> Int.int |
| 78 | end |
| 79 | |
| 80 | signature REAL = |
| 81 | sig |
| 82 | include REAL_GLOBAL |
| 83 | |
| 84 | val != : real * real -> bool |
| 85 | val * : real * real -> real |
| 86 | val *+ : real * real * real -> real |
| 87 | val *- : real * real * real -> real |
| 88 | val + : real * real -> real |
| 89 | val - : real * real -> real |
| 90 | val / : real * real -> real |
| 91 | val < : real * real -> bool |
| 92 | val <= : real * real -> bool |
| 93 | val == : real * real -> bool |
| 94 | val > : real * real -> bool |
| 95 | val >= : real * real -> bool |
| 96 | val ?= : real * real -> bool |
| 97 | val ~ : real -> real |
| 98 | val abs: real -> real |
| 99 | val checkFloat: real -> real |
| 100 | val class: real -> IEEEReal.float_class |
| 101 | val compare: real * real -> order |
| 102 | val compareReal: real * real -> IEEEReal.real_order |
| 103 | val copySign: real * real -> real |
| 104 | val fmt: StringCvt.realfmt -> real -> string |
| 105 | val fromDecimal: IEEEReal.decimal_approx -> real option |
| 106 | val fromInt: int -> real |
| 107 | val fromLarge: IEEEReal.rounding_mode -> LargeReal.real -> real |
| 108 | val fromLargeInt: LargeInt.int -> real |
| 109 | val fromManExp: {man: real, exp: int} -> real |
| 110 | val fromString: string -> real option |
| 111 | val isFinite: real -> bool |
| 112 | val isNan: real -> bool |
| 113 | val isNormal: real -> bool |
| 114 | val max: real * real -> real |
| 115 | val maxFinite: real |
| 116 | val min: real * real -> real |
| 117 | val minNormalPos: real |
| 118 | val minPos: real |
| 119 | val negInf: real |
| 120 | val nextAfter: real * real -> real |
| 121 | val posInf: real |
| 122 | val precision: int |
| 123 | val radix: int |
| 124 | val realCeil: real -> real |
| 125 | val realFloor: real -> real |
| 126 | val realMod: real -> real |
| 127 | val realRound: real -> real |
| 128 | val realTrunc: real -> real |
| 129 | val rem: real * real -> real |
| 130 | val sameSign: real * real -> bool |
| 131 | val scan: (char, 'a) StringCvt.reader -> (real, 'a) StringCvt.reader |
| 132 | val sign: real -> int |
| 133 | val signBit: real -> bool |
| 134 | val split: real -> {whole: real, frac: real} |
| 135 | val toDecimal: real -> IEEEReal.decimal_approx |
| 136 | val toInt: IEEEReal.rounding_mode -> real -> int |
| 137 | val toLarge: real -> LargeReal.real |
| 138 | val toLargeInt: IEEEReal.rounding_mode -> real -> LargeInt.int |
| 139 | val toManExp: real -> {man: real, exp: int} |
| 140 | val toString: real -> string |
| 141 | val unordered: real * real -> bool |
| 142 | end |
| 143 | |
| 144 | signature REAL_EXTRA = |
| 145 | sig |
| 146 | include REAL |
| 147 | val realSize: Int.int |
| 148 | |
| 149 | val fromWord: word -> real |
| 150 | val fromLargeWord: LargeWord.word -> real |
| 151 | val toWord: IEEEReal.rounding_mode -> real -> word |
| 152 | val toLargeWord: IEEEReal.rounding_mode -> real -> LargeWord.word |
| 153 | end |