Add 21 primitives to Faustine.
[Faustine.git] / interpretor / types.ml
index 0b7cfde..99a3877 100644 (file)
@@ -31,17 +31,37 @@ class type value_type =
     method mul : value_type -> value_type
     method recip : value_type
     method div : value_type -> value_type
+    method power : value_type -> value_type
+    method _and : value_type -> value_type
+    method _or : value_type -> value_type
+    method _xor : value_type -> value_type
     method zero : value_type
     method floor : value_type
+    method ceil : value_type
+    method rint : value_type
     method int : value_type
+    method float : value_type
     method sin : value_type
+    method asin : value_type
     method cos : value_type
+    method acos : value_type
+    method tan : value_type
     method atan : value_type
-    method sqrt : value_type
     method atan2 : value_type -> value_type
+    method exp : value_type
+    method sqrt : value_type
+    method ln : value_type
+    method lg : value_type
+    method abs : value_type
+    method fmod : value_type -> value_type
     method _mod : value_type -> value_type
-    method larger : value_type -> value_type
-    method smaller : value_type -> value_type
+    method remainder : value_type -> value_type
+    method gt : value_type -> value_type
+    method lt : value_type -> value_type
+    method geq : value_type -> value_type
+    method leq : value_type -> value_type
+    method eq : value_type -> value_type
+    method neq : value_type -> value_type
     method max : value_type -> value_type
     method min : value_type -> value_type
   end;;
@@ -51,31 +71,51 @@ type symbol = Add
            | Sub
            | Mul
            | Div
+           | Power
            | Pass
            | Stop
+           | And
+           | Or
+           | Xor
            | Mem
            | Delay
            | Floor
+           | Ceil
+           | Rint
            | Int
+           | Float
            | Sin
+           | Asin
            | Cos
+           | Acos
+           | Tan
            | Atan
            | Atan2
+           | Exp
            | Sqrt
-           | Rdtable
+           | Ln
+           | Lg
+           | Abs
+           | Fmod
            | Mod
+           | Remainder
            | Vectorize
            | Vconcat
            | Vpick
            | Serialize
-           | Larger
-           | Smaller
+           | Gt
+           | Lt
+           | Geq
+           | Leq
+           | Eq
+           | Neq
            | Max
            | Min
            | Prefix
            | Select2
            | Select3
-
+           | Rdtable
+           | Rwtable
 
 type faust_exp =
          Const of basic
@@ -109,6 +149,10 @@ class type signal_type =
       method sub : signal_type -> signal_type
       method mul : signal_type -> signal_type
       method div : signal_type -> signal_type
+      method power : signal_type -> signal_type
+      method _and : signal_type -> signal_type
+      method _or : signal_type -> signal_type
+      method _xor : signal_type -> signal_type
       method delay : signal_type -> signal_type
       method mem : signal_type
       method vectorize : signal_type -> signal_type
@@ -116,18 +160,36 @@ class type signal_type =
       method vconcat : signal_type -> signal_type
       method vpick : signal_type -> signal_type
       method floor : signal_type
+      method ceil : signal_type
+      method rint : signal_type
       method int : signal_type
+      method float : signal_type
       method sin : signal_type
+      method asin : signal_type
       method cos : signal_type
+      method acos : signal_type
+      method tan : signal_type
       method atan : signal_type
       method atan2 : signal_type -> signal_type
+      method exp : signal_type
       method sqrt : signal_type
+      method ln : signal_type
+      method lg : signal_type
+      method abs : signal_type
+      method fmod : signal_type -> signal_type
       method _mod : signal_type -> signal_type
-      method larger : signal_type -> signal_type
-      method smaller : signal_type -> signal_type
+      method remainder : signal_type -> signal_type
+      method gt : signal_type -> signal_type
+      method lt : signal_type -> signal_type
+      method geq : signal_type -> signal_type
+      method leq : signal_type -> signal_type
+      method eq : signal_type -> signal_type
+      method neq : signal_type -> signal_type
       method max : signal_type -> signal_type
       method min : signal_type -> signal_type
       method rdtable : signal_type -> signal_type -> signal_type
+      method rwtable : signal_type -> signal_type -> 
+       signal_type -> signal_type -> signal_type
       method select2 : signal_type -> signal_type -> signal_type
       method select3 : signal_type -> signal_type -> signal_type -> signal_type
       method prefix : signal_type -> signal_type