Refactoring faustine in beam.ml -> method output.
[Faustine.git] / documentation / code_VALInterpreter.realise_value_list.html
1 <html><head>
2 <link rel="stylesheet" href="style.css" type="text/css">
3 <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
4 <link rel="Start" href="index.html">
5 <link title="Index of types" rel=Appendix href="index_types.html">
6 <link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
7 <link title="Index of values" rel=Appendix href="index_values.html">
8 <link title="Index of modules" rel=Appendix href="index_modules.html">
9 <link title="Types" rel="Chapter" href="Types.html">
10 <link title="Value" rel="Chapter" href="Value.html">
11 <link title="Signal" rel="Chapter" href="Signal.html">
12 <link title="Faustexp" rel="Chapter" href="Faustexp.html">
13 <link title="Interpreter" rel="Chapter" href="Interpreter.html">
14 <link title="Main" rel="Chapter" href="Main.html"><title>Interpreter.realise_value_list</title>
15 </head>
16 <body>
17 <code class="code"><span class="keyword">let</span>&nbsp;realise_value_list&nbsp;vl&nbsp;&nbsp;=&nbsp;<br>
18 &nbsp;&nbsp;<span class="keyword">let</span>&nbsp;realise_value&nbsp;=&nbsp;<span class="keyword">fun</span>&nbsp;v&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keyword">match</span>&nbsp;v&nbsp;<span class="keyword">with</span><br>
19 &nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Vec</span>&nbsp;(size,&nbsp;vec)&nbsp;<span class="keywordsign">-&gt;</span><br>
20 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;memory_hashtbl&nbsp;=&nbsp;<span class="constructor">Hashtbl</span>.create&nbsp;size&nbsp;<span class="keyword">in</span><br>
21 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;new_vec&nbsp;=&nbsp;<span class="keyword">fun</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<br>
22 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&gt;=&nbsp;0&nbsp;<span class="keywordsign">&amp;&amp;</span>&nbsp;i&nbsp;&lt;&nbsp;size&nbsp;<span class="keyword">then</span>&nbsp;<br>
23 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br>
24 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;<span class="constructor">Hashtbl</span>.mem&nbsp;memory_hashtbl&nbsp;i&nbsp;<span class="keyword">then</span>&nbsp;<br>
25 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Hashtbl</span>.find&nbsp;memory_hashtbl&nbsp;i<br>
26 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span>&nbsp;<br>
27 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;result&nbsp;=&nbsp;vec&nbsp;i&nbsp;<span class="keyword">in</span><br>
28 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;()&nbsp;=&nbsp;<span class="constructor">Hashtbl</span>.add&nbsp;memory_hashtbl&nbsp;i&nbsp;result&nbsp;<span class="keyword">in</span><br>
29 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
30 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br>
31 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span>&nbsp;raise&nbsp;(<span class="constructor">Invalid_argument</span>&nbsp;<span class="string">"vector&nbsp;overflow."</span>)<br>
32 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span><br>
33 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return_Vec&nbsp;(size,&nbsp;new_vec)<br>
34 &nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;v<br>
35 &nbsp;&nbsp;<span class="keyword">in</span><br>
36 &nbsp;&nbsp;<span class="constructor">List</span>.map&nbsp;realise_value&nbsp;vl</code></body></html>