summaryrefslogtreecommitdiff
path: root/caux.sml
blob: 7dcefeff6e0d5221f56c58841bafe24a95725a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
local
  fun parse parse_fp repr =
  let
    val status = ref 0
    val result = parse_fp (repr ^ str #"\000", status)
  in
    (!status, result)
  end

  val parse_float = _import "parse_float": string * int ref -> Real32.real;
  val parse_double =
    _import "parse_float": string * int ref -> Real64.real;

in
  val parseFloat = parse parse_float
  val parseDouble = parse parse_double

  val word64Toint64 =
    _import "conv_word64_to_int64": Word64.word -> Int64.int;
  val int64Toword64 =
    _import "conv_int64_to_word64": Int64.int -> Word64.word;

  val word64Toint32 =
    _import "conv_word64_to_int32": Word64.word -> Int32.int;
  val int32Toword64 =
    _import "conv_int32_to_word64": Int32.int -> Word64.word;
end