X-Git-Url: https://svn.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/22281bef330c4b8dda5217f5b7d0f77257c568ae..f3ad8b46ca1621f4a90db91ed6f9c1eceac96c4c:/interpretor/types.ml diff --git a/interpretor/types.ml b/interpretor/types.ml index 3f0631b..68e550c 100644 --- a/interpretor/types.ml +++ b/interpretor/types.ml @@ -31,17 +31,36 @@ 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 expo : value_type + method sqrt : value_type + method ln : value_type + method log10 : 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 greater : value_type -> value_type + method less : value_type -> value_type + method gore : value_type -> value_type + method lore : value_type -> value_type + method equal : value_type -> value_type + method different : value_type -> value_type method max : value_type -> value_type method min : value_type -> value_type end;; @@ -51,31 +70,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 + | Log10 + | Abs + | Fmod | Mod + | Remainder | Vectorize | Vconcat | Vpick | Serialize - | Larger - | Smaller + | Greater + | Less + | Gore + | Lore + | Equal + | Different | Max | Min | Prefix | Select2 | Select3 - + | Rdtable + | Rwtable type faust_exp = Const of basic @@ -91,6 +130,9 @@ 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 @@ -106,6 +148,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 @@ -113,23 +159,44 @@ 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 expo : signal_type method sqrt : signal_type + method ln : signal_type + method log10 : 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 greater : signal_type -> signal_type + method less : signal_type -> signal_type + method gore : signal_type -> signal_type + method lore : signal_type -> signal_type + method equal : signal_type -> signal_type + method different : 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 end;; +type matrix = float array array;; + +type data = float array array array;; class type beam_type = object @@ -140,8 +207,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 -> float array array array - method frequency : int array + method output : int -> data + method frequency : rate_type array end;; @@ -170,5 +237,5 @@ class type io_type = object method set : string -> string -> unit method read : string array -> beam_type - method write : int array -> float array array array -> string array + method write : rate_type array -> data -> string array end;;