X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c0ac16bdf3099698bb61bb8183f047381a6c713e..22281bef330c4b8dda5217f5b7d0f77257c568ae:/interpretor/types.ml diff --git a/interpretor/types.ml b/interpretor/types.ml index dae188f..3f0631b 100644 --- a/interpretor/types.ml +++ b/interpretor/types.ml @@ -42,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;; @@ -68,6 +70,8 @@ type symbol = Add | Serialize | Larger | Smaller + | Max + | Min | Prefix | Select2 | Select3 @@ -83,9 +87,18 @@ type faust_exp = | Merge of faust_exp * faust_exp +class type rate_type = + object + method to_int : int + method to_float : float + 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 @@ -109,6 +122,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