+++ /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_memory : int -> unit
- 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 get : signal_type array
- method width : int
- method sub : int -> int -> 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
- end;;
-
-
-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 process_type =
- object
- method exp : faust_exp
- method dim : dimension_type
- method delay : int
- method evaluate : beam_type -> beam_type
- end;;