+++ /dev/null
-<html><head>
-<link rel="stylesheet" href="style.css" type="text/css">
-<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
-<link rel="Start" href="index.html">
-<link title="Index of types" rel=Appendix href="index_types.html">
-<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
-<link title="Index of values" rel=Appendix href="index_values.html">
-<link title="Index of modules" rel=Appendix href="index_modules.html">
-<link title="Types" rel="Chapter" href="Types.html">
-<link title="Parser" rel="Chapter" href="Parser.html">
-<link title="Lexer" rel="Chapter" href="Lexer.html">
-<link title="Value" rel="Chapter" href="Value.html">
-<link title="Signal" rel="Chapter" href="Signal.html">
-<link title="Faustexp" rel="Chapter" href="Faustexp.html">
-<link title="Interpreter" rel="Chapter" href="Interpreter.html">
-<link title="Preprocess" rel="Chapter" href="Preprocess.html">
-<link title="Main" rel="Chapter" href="Main.html"><title>Value.v_add</title>
-</head>
-<body>
-<code class="code"><span class="keyword">let</span> <span class="keyword">rec</span> v_add v1 v2 = <span class="keyword">match</span> v1 <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size1, vec1) <span class="keywordsign">-></span> <br>
- (<br>
- <span class="keyword">match</span> v2 <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size2, vec2) <span class="keywordsign">-></span> <br>
- <span class="keyword">if</span> size1 = size2 <span class="keyword">then</span> <br>
- make_vector size1 (<span class="keyword">fun</span> i <span class="keywordsign">-></span> v_add (vec1 i) (vec2 i))<br>
- <span class="keyword">else</span> raise (<span class="constructor">Value_operation</span> <span class="string">"vector size not matched."</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> v1<br>
- <span class="keywordsign">|</span>_ <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Vector_Scalar vec1 +~ sca2"</span>)<br>
- )<br>
- <span class="keywordsign">|</span><span class="constructor">N</span> i1 <span class="keywordsign">-></span><br>
- (<br>
- <span class="keyword">match</span> v2 <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">N</span> i2 <span class="keywordsign">-></span> normalize (return_N (i1 + i2))<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f2 <span class="keywordsign">-></span> normalize (return_R ((float_of_int i1) +. f2))<br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size2, vec2) <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Vector_Scalar i1 +~ vec2"</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> v1<br>
- <span class="keywordsign">|</span><span class="constructor">W</span> <span class="keywordsign">-></span> fail<br>
- )<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f1 <span class="keywordsign">-></span><br>
- (<br>
- <span class="keyword">match</span> v2 <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">N</span> i2 <span class="keywordsign">-></span> normalize (return_R (f1 +. (float_of_int i2)))<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f2 <span class="keywordsign">-></span> normalize (return_R (f1 +. f2))<br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size2, vec2) <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Vector_Scalar f1 +~ vec2"</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> v1<br>
- <span class="keywordsign">|</span><span class="constructor">W</span> <span class="keywordsign">-></span> fail<br>
- )<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> v2<br>
- <span class="keywordsign">|</span><span class="constructor">W</span> <span class="keywordsign">-></span><br>
- (<br>
- <span class="keyword">match</span> v2 <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">N</span> i2 <span class="keywordsign">-></span> fail<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f2 <span class="keywordsign">-></span> fail<br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size2, vec2) <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Vector_Scalar W +~ vec2"</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> v1<br>
- <span class="keywordsign">|</span><span class="constructor">W</span> <span class="keywordsign">-></span> fail<br>
- )</code></body></html>
\ No newline at end of file