New Faustine tested by sin.dsp and fft.dsp.
[Faustine.git] / interpretor / types.ml
index ba61990..89f1e5f 100644 (file)
@@ -45,7 +45,7 @@ class type value_type =
 
 
 type symbol = Add
-           | Sup
+           | Sub
            | Mul
            | Div
            | Pass
@@ -57,7 +57,7 @@ type symbol = Add
            | Sin
            | Cos
            | Atan
-           | Atantwo
+           | Atan2
            | Sqrt
            | Rdtable
            | Mod
@@ -68,8 +68,8 @@ type symbol = Add
            | Larger
            | Smaller
            | Prefix
-           | Selecttwo
-           | Selectthree
+           | Select2
+           | Select3
 
 
 type faust_exp =
@@ -86,6 +86,7 @@ class type signal_type =
     object
       method frequency : int
       method at : time -> value_type
+      method add_memory : int -> unit
       method add : signal_type -> signal_type
       method neg : signal_type
       method sub : signal_type -> signal_type
@@ -116,12 +117,15 @@ class type signal_type =
 
 class type beam_type =
     object
-      method length : int
-      method sub : start: int -> length: int -> beam_type
+      method get : signal_type array
+      method width : int
+      method sub : int -> int -> beam_type
+      method cut : int -> beam_type * beam_type
       method append : beam_type -> beam_type
-      method matching : size: int -> beam_type
-      method time : time -> basic list
-      method output : length: int -> (int list) * (float array list)
+      method matching : int -> beam_type
+      method at : time -> value_type array
+      method output : int -> value_type array array
+      method frequency : int array
     end;;
 
 
@@ -129,14 +133,25 @@ class type dimension_type =
   object
     method input : int
     method output : int
+    method par : dimension_type -> dimension_type
+    method seq : dimension_type -> dimension_type
+    method split : dimension_type -> dimension_type
+    method merge : dimension_type -> dimension_type
+    method _rec : dimension_type -> dimension_type
   end;;
 
 
-class type expression_type = 
+class type process_type = 
     object
-      method get_exp : faust_exp
-      method get_dim : dimension_type
-      method get_delay : int
-      method to_string : string
-      method evaluate : beam_type -> beam_type
+      method exp : faust_exp
+      method dim : dimension_type
+      method delay : int
+      method eval : beam_type -> beam_type
+    end;;
+
+
+class type io_type = 
+    object
+      method read : string array -> beam_type
+      method write : int array -> value_type array array -> string array
     end;;