X-Git-Url: https://svn.cri.mines-paristech.fr/git/Faustine.git/blobdiff_plain/23922b6f3a5f9813b822b4c60f05c8f2e384b070..d204fe8a60e0556b0294e17c5c6948cb6cee7d91:/interpretor/types.ml

diff --git a/interpretor/types.ml b/interpretor/types.ml
index 5e88a1a..620cde5 100644
--- a/interpretor/types.ml
+++ b/interpretor/types.ml
@@ -22,6 +22,7 @@ class type value_type =
     method to_int : int
     method to_float : float
     method to_float_array : float array
+    method of_float_array : float array -> value_type
     method to_string : string
     method normalize : unit
     method add : value_type -> value_type
@@ -41,11 +42,13 @@ class type value_type =
     method _mod : value_type -> value_type
     method larger : value_type -> value_type
     method smaller : value_type -> value_type
+    method max : value_type -> value_type
+    method min : value_type -> value_type
   end;;
 
 
 type symbol = Add
-  	    | Sup
+  	    | Sub
 	    | Mul
 	    | Div
 	    | Pass
@@ -57,7 +60,7 @@ type symbol = Add
 	    | Sin
 	    | Cos
 	    | Atan
-	    | Atantwo
+	    | Atan2
 	    | Sqrt
 	    | Rdtable
 	    | Mod
@@ -67,9 +70,11 @@ type symbol = Add
 	    | Serialize
 	    | Larger
 	    | Smaller
+	    | Max
+	    | Min
 	    | Prefix
-	    | Selecttwo
-	    | Selectthree
+	    | Select2
+	    | Select3
 
 
 type faust_exp =
@@ -82,9 +87,21 @@ type faust_exp =
        | Merge of faust_exp * faust_exp
 
 
+class type rate_type = 
+  object
+    method to_int : int
+    method to_float : float 
+    method to_string : string
+    method num : int
+    method denom : int
+    method equal : rate_type -> bool
+    method mul : int -> rate_type
+    method div : int -> rate_type
+  end
+
 class type signal_type = 
     object
-      method frequency : int
+      method frequency : rate_type
       method at : time -> value_type
       method add_memory : int -> unit
       method add : signal_type -> signal_type
@@ -108,6 +125,8 @@ class type signal_type =
       method _mod : signal_type -> signal_type
       method larger : signal_type -> signal_type
       method smaller : 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 select2 : signal_type -> signal_type -> signal_type
       method select3 : signal_type -> signal_type -> signal_type -> signal_type
@@ -120,10 +139,12 @@ class type 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 : int -> beam_type
       method at : time -> value_type array
-      method output : int -> value_type array array
+      method output : int -> float array array array
+      method frequency : rate_type array
     end;;
 
 
@@ -144,5 +165,13 @@ class type process_type =
       method exp : faust_exp
       method dim : dimension_type
       method delay : int
-      method evaluate : beam_type -> beam_type
+      method eval : beam_type -> beam_type
+    end;;
+
+
+class type io_type = 
+    object
+      method set : string -> string -> unit
+      method read : string array -> beam_type
+      method write : rate_type array -> float array array array -> string array
     end;;