Add 21 primitives to Faustine.
[Faustine.git] / interpretor / value.ml
index ef05f43..e9b2746 100644 (file)
@@ -33,11 +33,21 @@ class value : basic -> value_type =
       method recip = self#prim1 basic_recip
       method zero = self#prim1 basic_zero
       method floor = self#prim1 basic_floor
+      method ceil = self#prim1 basic_ceil
+      method rint = self#prim1 basic_rint
       method int = self#prim1 basic_int
+      method float = self#prim1 basic_float
       method sin = self#prim1 basic_sin
+      method asin = self#prim1 basic_asin
       method cos = self#prim1 basic_cos
+      method acos = self#prim1 basic_acos
+      method tan = self#prim1 basic_tan
       method atan = self#prim1 basic_atan
+      method exp = self#prim1 basic_exp
       method sqrt = self#prim1 basic_sqrt
+      method ln = self#prim1 basic_ln
+      method lg = self#prim1 basic_lg
+      method abs = self#prim1 basic_abs
 
       method private prim2 : (basic -> basic -> basic) -> value -> value = 
        fun oper ->
@@ -48,10 +58,20 @@ class value : basic -> value_type =
       method sub = self#prim2 basic_sub
       method mul = self#prim2 basic_mul
       method div = self#prim2 basic_div
-      method atan2 = self#prim2 basic_atan2
+      method power = self#prim2 basic_power
+      method _and = self#prim2 basic_and
+      method _or = self#prim2 basic_or
+      method _xor = self#prim2 basic_xor
       method _mod = self#prim2 basic_mod
-      method larger = self#prim2 basic_larger
-      method smaller = self#prim2 basic_smaller
+      method fmod = self#prim2 basic_fmod
+      method remainder = self#prim2 basic_remainder
+      method gt = self#prim2 basic_gt
+      method lt = self#prim2 basic_lt
+      method geq = self#prim2 basic_geq
+      method leq = self#prim2 basic_leq
+      method eq = self#prim2 basic_eq
+      method neq = self#prim2 basic_neq
+      method atan2 = self#prim2 basic_atan2
       method max = self#prim2 basic_max
       method min = self#prim2 basic_min