+++ /dev/null
-
-type index = int;;
-
-type time = int;;
-
-type basic = N of int
- | R of float
- | Vec of vector
- | Zero
- | Error
-and vector = < size : int; nth : (index -> basic) >;;
-
-class type vector_type =
- object
- method size : int
- method nth : index -> basic
- end;;
-
-class type value_type =
- object
- method get : basic
- method to_int : int
- method to_float : float
- method to_float_array : float array
- method to_string : string
- method normalize : unit
- method add : value_type -> value_type
- method neg : value_type
- method sub : value_type -> value_type
- method mul : value_type -> value_type
- method recip : value_type
- method div : value_type -> value_type
- method zero : value_type
- method floor : value_type
- method int : value_type
- method sin : value_type
- method cos : value_type
- method atan : value_type
- method sqrt : value_type
- method atan2 : value_type -> value_type
- method _mod : value_type -> value_type
- method larger : value_type -> value_type
- method smaller : value_type -> value_type
- end;;
-
-
-type symbol = Add
- | Sup
- | Mul
- | Div
- | Pass
- | Stop
- | Mem
- | Delay
- | Floor
- | Int
- | Sin
- | Cos
- | Atan
- | Atantwo
- | Sqrt
- | Rdtable
- | Mod
- | Vectorize
- | Vconcat
- | Vpick
- | Serialize
- | Larger
- | Smaller
- | Prefix
- | Selecttwo
- | Selectthree
-
-
-type faust_exp =
- Const of basic
- | Ident of symbol
- | Par of faust_exp * faust_exp
- | Seq of faust_exp * faust_exp
- | Rec of faust_exp * faust_exp
- | Split of faust_exp * faust_exp
- | Merge of faust_exp * faust_exp
-
-
-class type signal_type =
- object
- method frequency : int
- method at : time -> value_type
- method add : signal_type -> signal_type
- method neg : signal_type
- method sub : signal_type -> signal_type
- method mul : signal_type -> signal_type
- method div : signal_type -> signal_type
- method delay : signal_type -> signal_type
- method mem : signal_type
- method vectorize : signal_type -> signal_type
- method serialize : signal_type
- method vconcat : signal_type -> signal_type
- method vpick : signal_type -> signal_type
- method floor : signal_type
- method int : signal_type
- method sin : signal_type
- method cos : signal_type
- method atan : signal_type
- method atan2 : signal_type -> signal_type
- method sqrt : signal_type
- method _mod : signal_type -> signal_type
- method larger : signal_type -> signal_type
- method smaller : 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;;
-
-
-class type beam_type =
- object
- method length : int
- method sub : start: int -> length: int -> 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)
- end;;
-
-
-class type dimension_type =
- object
- method input : int
- method output : int
- end;;
-
-
-class type expression_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
- end;;