+++ /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 of_float_array : float array -> value_type
- 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
- method max : value_type -> value_type
- method min : value_type -> value_type
- end;;
-
-
-type symbol = Add
- | Sub
- | Mul
- | Div
- | Pass
- | Stop
- | Mem
- | Delay
- | Floor
- | Int
- | Sin
- | Cos
- | Atan
- | Atan2
- | Sqrt
- | Rdtable
- | Mod
- | Vectorize
- | Vconcat
- | Vpick
- | Serialize
- | Larger
- | Smaller
- | Max
- | Min
- | Prefix
- | Select2
- | Select3
-
-
-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 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
- end
-
-class type signal_type =
- object
- method frequency : rate_type
- 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 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
- method prefix : signal_type -> signal_type
- end;;
-
-type matrix = float array array;;
-
-type data = float array array array;;
-
-class type beam_type =
- object
- 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 : int -> beam_type
- method at : time -> value_type array
- method output : int -> data
- method frequency : rate_type 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 eval : beam_type -> beam_type
- end;;
-
-
-class type io_type =
- object
- method set : string -> string -> unit
- method read : string array -> beam_type
- method write : rate_type array -> data -> string array
- end;;