-<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_mod</title>
-</head>
-<body>
-<code class="code"><span class="keyword">let</span> <span class="keyword">rec</span> v_mod v1 v2 = <span class="keyword">match</span> v1 <span class="keyword">with</span><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> return_N (i1 <span class="keyword">mod</span> i2)<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f2 <span class="keywordsign">-></span> return_N (i1 <span class="keyword">mod</span> (int_of_float f2))<br>
- <span class="keywordsign">|</span><span class="constructor">Vec</span> (size, vec) <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Scalaire_Vector: int mod vec."</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"v1 mod v2: v2 cannot be zero."</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">W</span> <span class="keywordsign">-></span> <span class="constructor">W</span><br>
- )<br>
- <span class="keywordsign">|</span><span class="constructor">R</span> f1 <span class="keywordsign">-></span> <span class="keyword">let</span> i = return_N (int_of_float f1) <span class="keyword">in</span> v_mod i v2<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_mod (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> raise (<span class="constructor">Value_operation</span> <span class="string">"v1 mod v2: v2 cannot be zero."</span>)<br>
- <span class="keywordsign">|</span>_ <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Vector_Scalaire: vec mod int."</span>)<br>
- )<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</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">Vec</span> (size2, vec2) <span class="keywordsign">-></span> <br>
- <span class="keyword">let</span> v = make_vector size2 (<span class="keyword">fun</span> i <span class="keywordsign">-></span> <span class="constructor">Zero</span>) <span class="keyword">in</span><br>
- v_mod v v2<br>
- <span class="keywordsign">|</span>_ <span class="keywordsign">-></span> v_mod (<span class="constructor">N</span> 0) v2<br>
- )<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">Vec</span> (size2, vec2) <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"Scalaire_Vector: int mod vec."</span>)<br>
- <span class="keywordsign">|</span><span class="constructor">Zero</span> <span class="keywordsign">-></span> raise (<span class="constructor">Value_operation</span> <span class="string">"v1 mod v2: v2 cannot be zero."</span>)<br>
- <span class="keywordsign">|</span>_ <span class="keywordsign">-></span> <span class="constructor">W</span><br>
- )</code></body></html>
\ No newline at end of file