1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
4 <link rel=
"stylesheet" href=
"style.css" type=
"text/css">
5 <meta content=
"text/html; charset=iso-8859-1" http-equiv=
"Content-Type">
6 <link rel=
"Start" href=
"index.html">
7 <link rel=
"previous" href=
"Signal.html">
8 <link rel=
"next" href=
"Interpreter.html">
9 <link rel=
"Up" href=
"index.html">
10 <link title=
"Index of types" rel=Appendix
href=
"index_types.html">
11 <link title=
"Index of exceptions" rel=Appendix
href=
"index_exceptions.html">
12 <link title=
"Index of values" rel=Appendix
href=
"index_values.html">
13 <link title=
"Index of modules" rel=Appendix
href=
"index_modules.html">
14 <link title=
"Types" rel=
"Chapter" href=
"Types.html">
15 <link title=
"Parser" rel=
"Chapter" href=
"Parser.html">
16 <link title=
"Lexer" rel=
"Chapter" href=
"Lexer.html">
17 <link title=
"Value" rel=
"Chapter" href=
"Value.html">
18 <link title=
"Signal" rel=
"Chapter" href=
"Signal.html">
19 <link title=
"Faustexp" rel=
"Chapter" href=
"Faustexp.html">
20 <link title=
"Interpreter" rel=
"Chapter" href=
"Interpreter.html">
21 <link title=
"Preprocess" rel=
"Chapter" href=
"Preprocess.html">
22 <link title=
"Main" rel=
"Chapter" href=
"Main.html"><title>Faustexp
</title>
25 <div class=
"navbar"><a href=
"Signal.html">Previous
</a>
26 <a href=
"index.html">Up
</a>
27 <a href=
"Interpreter.html">Next
</a>
29 <center><h1>Module
<a href=
"type_Faustexp.html">Faustexp
</a></h1></center>
31 <pre><span class=
"keyword">module
</span> Faustexp:
<code class=
"code">sig
</code> <a href=
"Faustexp.html">..
</a> <code class=
"code">end
</code></pre>Module: Faustexp
32 Description: dimension estimation and delay estimation of faust expressions.
<br>
33 <b>Author(s):
</b> WANG Haisheng
34 Created:
03/
06/
2013 Modified:
04/
06/
2013<br>
36 <pre><span id=
"EXCEPTIONBeam_Matching_Error"><span class=
"keyword">exception
</span> Beam_Matching_Error
</span> <span class=
"keyword">of
</span> <code class=
"type">string
</code></pre>
38 Exception raised in beam matching of faust expressions.
<br>
40 <pre><span id=
"EXCEPTIONNotYetDone"><span class=
"keyword">exception
</span> NotYetDone
</span></pre>
42 Exception raised in case that the branch under call hasn't yet been programed.
<br>
44 <pre><span id=
"VALdelay"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.delay.html">delay
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEfaust_exp">Types.faust_exp
</a> -
> int
</code></pre><div class=
"info">
45 val delay : faust_exp -
> int, returns the number of delays estimated staticly.
46 Attention: delays of
"@" is estimated as
10 constant,
47 delays of
"vectorize" and
"serialize" haven't been implemented,
48 delays of
"rdtable" hasn't been implemented.
<br>
50 <pre><span id=
"VALexp_of_string"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.exp_of_string.html">exp_of_string
</a></span> :
<code class=
"type">string -
> <a href=
"Types.html#TYPEfaust_exp">Types.faust_exp
</a></code></pre><div class=
"info">
51 val exp_of_string : string -
> faust_exp, faust expression parser.
<br>
53 <pre><span id=
"VALget_root"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.get_root.html">get_root
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEdimension">Types.dimension
</a> -
> int * int
</code></pre><div class=
"info">
54 val get_root : dimension -
> int * int, returns the root of dimension tree.
<br>
56 <pre><span id=
"VALsubtree"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.subtree.html">subtree
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEdimension">Types.dimension
</a> -
> int -
> <a href=
"Types.html#TYPEdimension">Types.dimension
</a></code></pre><div class=
"info">
57 val subtree : dimention -
> int -
> dimension, returns a subtree of dimension tree.
<br>
59 <pre><span id=
"VALsubtree_left"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.subtree_left.html">subtree_left
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEdimension">Types.dimension
</a> -
> <a href=
"Types.html#TYPEdimension">Types.dimension
</a></code></pre><div class=
"info">
60 val subtree_left : dimension -
> dimension, returns the left subtree of dimension tree.
<br>
62 <pre><span id=
"VALsubtree_right"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.subtree_right.html">subtree_right
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEdimension">Types.dimension
</a> -
> <a href=
"Types.html#TYPEdimension">Types.dimension
</a></code></pre><div class=
"info">
63 val subtree_right : dimension -
> dimension, returns the right subtree of dimension tree.
<br>
65 <pre><span id=
"VALd_par"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.d_par.html">d_par
</a></span> :
<code class=
"type">int * int -
> int * int -
> int * int
</code></pre><div class=
"info">
66 val d_par : int * int -
> int * int -
> int * int, process dimension for constructor
"par(,)",
67 which is the addition of two dimensions.
<br>
69 <pre><span id=
"VALd_seq"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.d_seq.html">d_seq
</a></span> :
<code class=
"type">'a * 'b -
> 'b * 'c -
> 'a * 'c
</code></pre><div class=
"info">
70 val d_seq : int * int -
> int * int -
> int * int, process dimension for constructor
"seq(:)",
71 which is (size of input beam of first exp, size of output beam of second exp)
72 along with beam matching.
<br>
74 <pre><span id=
"VALd_split"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.d_split.html">d_split
</a></span> :
<code class=
"type">'a * int -
> int * 'b -
> 'a * 'b
</code></pre><div class=
"info">
75 val d_split : int * int -
> int * int -
> int * int, process dimension for constructor
"split(<:)",
76 which is (size of input beam of first exp, size of output beam of second exp)
77 along with beam matching.
<br>
79 <pre><span id=
"VALd_merge"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.d_merge.html">d_merge
</a></span> :
<code class=
"type">'a * int -
> int * 'b -
> 'a * 'b
</code></pre><div class=
"info">
80 val d_merge : int * int -
> int * int -
> int * int, process dimension for constructor
"merge(:>)",
81 which is (size of input beam of first exp, size of output beam of second exp)
82 along with beam matching.
<br>
84 <pre><span id=
"VALd_rec"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.d_rec.html">d_rec
</a></span> :
<code class=
"type">int * 'a -
> 'a * int -
> int * 'a
</code></pre><div class=
"info">
85 val d_rec : int * int -
> int * int -
> int * int, process dimension for constructor
"rec(~)",
86 which is (size of input beam of first exp - size of output beam of second exp,
87 size of output beam of first exp)
88 along with beam matching.
<br>
90 <pre><span id=
"VALdim"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.dim.html">dim
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEfaust_exp">Types.faust_exp
</a> -
> <a href=
"Types.html#TYPEdimension">Types.dimension
</a></code></pre><div class=
"info">
91 val dim : faust_exp -
> int * int, returns dimension for faust expression,
92 along with beam matching.
<br>
94 <pre><span id=
"VALprint_exp"><span class=
"keyword">val
</span> <a href=
"code_VALFaustexp.print_exp.html">print_exp
</a></span> :
<code class=
"type"><a href=
"Types.html#TYPEfaust_exp">Types.faust_exp
</a> -
> unit
</code></pre><div class=
"info">
95 val print_exp : faust_exp -
> unit, print to console the input faust expression.
<br>