Module Faustexp


module Faustexp: sig .. end
Module: Faustexp Description: dimension estimation and delay estimation of faust expressions.
Author(s): WANG Haisheng Created: 03/06/2013 Modified: 04/06/2013

exception Beam_Matching_Error of string
Exception raised in beam matching of faust expressions.
exception NotYetDone
Exception raised in case that the branch under call hasn't yet been programed.
val delay : Types.faust_exp -> int
val delay : faust_exp -> int, returns the number of delays estimated staticly. Attention: delays of "@" is estimated as 10 constant, delays of "vectorize" and "serialize" haven't been implemented, delays of "rdtable" hasn't been implemented.
val exp_of_string : string -> Types.faust_exp
val exp_of_string : string -> faust_exp, faust expression parser.
val get_root : Types.dimension -> int * int
val get_root : dimension -> int * int, returns the root of dimension tree.
val subtree : Types.dimension -> int -> Types.dimension
val subtree : dimention -> int -> dimension, returns a subtree of dimension tree.
val subtree_left : Types.dimension -> Types.dimension
val subtree_left : dimension -> dimension, returns the left subtree of dimension tree.
val subtree_right : Types.dimension -> Types.dimension
val subtree_right : dimension -> dimension, returns the right subtree of dimension tree.
val d_par : int * int -> int * int -> int * int
val d_par : int * int -> int * int -> int * int, process dimension for constructor "par(,)", which is the addition of two dimensions.
val d_seq : 'a * 'b -> 'b * 'c -> 'a * 'c
val d_seq : int * int -> int * int -> int * int, process dimension for constructor "seq(:)", which is (size of input beam of first exp, size of output beam of second exp) along with beam matching.
val d_split : 'a * int -> int * 'b -> 'a * 'b
val d_split : int * int -> int * int -> int * int, process dimension for constructor "split(<:)", which is (size of input beam of first exp, size of output beam of second exp) along with beam matching.
val d_merge : 'a * int -> int * 'b -> 'a * 'b
val d_merge : int * int -> int * int -> int * int, process dimension for constructor "merge(:>)", which is (size of input beam of first exp, size of output beam of second exp) along with beam matching.
val d_rec : int * 'a -> 'a * int -> int * 'a
val d_rec : int * int -> int * int -> int * int, process dimension for constructor "rec(~)", which is (size of input beam of first exp - size of output beam of second exp, size of output beam of first exp) along with beam matching.
val dim : Types.faust_exp -> Types.dimension
val dim : faust_exp -> int * int, returns dimension for faust expression, along with beam matching.
val print_exp : Types.faust_exp -> unit
val print_exp : faust_exp -> unit, print to console the input faust expression.