X-Git-Url: https://svn.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/a6a80a5868c766f1a5360fd27f132fad425f8fe5..60771194f4808507a435db7c201e3e75675986be:/interpretor/types.ml diff --git a/interpretor/types.ml b/interpretor/types.ml index a252ed9..0b7cfde 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,6 +42,8 @@ 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;; @@ -67,6 +70,8 @@ type symbol = Add | Serialize | Larger | Smaller + | Max + | Min | Prefix | Select2 | Select3 @@ -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,12 +125,17 @@ 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 method prefix : signal_type -> signal_type end;; +type matrix = float array array;; + +type data = float array array array;; class type beam_type = object @@ -124,8 +146,8 @@ class 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 frequency : int array + method output : int -> data + method frequency : rate_type array end;; @@ -148,3 +170,11 @@ class type process_type = method delay : int 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 -> data -> string array + end;;