X-Git-Url: https://scm.cri.mines-paristech.fr/git/Faustine.git/blobdiff_plain/440ca0ba93966e89b68dc54207c461afc0d56264..a3490abb2f472827f39b061c55029949ebb3eba5:/interpretor/types.ml diff --git a/interpretor/types.ml b/interpretor/types.ml index ba61990..352afbe 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 = @@ -86,6 +91,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 @@ -107,6 +113,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 @@ -116,12 +124,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 -> float array array array + method frequency : int array end;; @@ -129,14 +140,26 @@ 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 set : string -> string -> unit + method read : string array -> beam_type + method write : int array -> float array array array -> string array end;;