summaryrefslogtreecommitdiff
path: root/lib/real.sail
blob: cd63a622712c7de50f35c43427cbf1b0b758668f (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$ifndef _REAL
$define _REAL

val "neg_real" : real -> real

val "mult_real" : (real, real) -> real

overload operator * = {mult_real}

val "sub_real" : (real, real) -> real

overload operator - = {sub_real}

val "add_real" : (real, real) -> real

overload operator + = {add_real}

val "div_real" : (real, real) -> real

overload operator / = {div_real}

val sqrt = "sqrt_real" : real -> real

val "abs_real" : real -> real

val floor = "round_down" : real -> int

val ceil = "round_up" : real -> int

val "to_real" : int -> real

val "eq_real" : (real, real) -> bool
val "lt_real" : (real, real) -> bool
val "gt_real" : (real, real) -> bool
val "lteq_real" : (real, real) -> bool
val "gteq_real" : (real, real) -> bool

overload operator == = {eq_real}
overload operator < = {lt_real}
overload operator > = {gt_real}
overload operator <= = {lteq_real}
overload operator >= = {gteq_real}

val pow_real = "real_power" : (real, int) -> real

val "print_real" : (string, real) -> unit
val "prerr_real" : (string, real) -> unit

val "random_real" : unit -> real

$endif