diff options
Diffstat (limited to 'ocaml-binary-annot/testsuite/tests/asmcomp/integr.cmm')
| -rw-r--r-- | ocaml-binary-annot/testsuite/tests/asmcomp/integr.cmm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ocaml-binary-annot/testsuite/tests/asmcomp/integr.cmm b/ocaml-binary-annot/testsuite/tests/asmcomp/integr.cmm new file mode 100644 index 0000000000..84a01d465f --- /dev/null +++ b/ocaml-binary-annot/testsuite/tests/asmcomp/integr.cmm @@ -0,0 +1,30 @@ +(***********************************************************************) +(* *) +(* Objective Caml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* $Id: integr.cmm 3218 2000-06-29 11:45:24Z xleroy $ *) + +(function "square" (x: float) + ( *f x x)) + +(function "integr" (f: addr low: float high: float n: int) + (let (h (/f (-f high low) (floatofint n)) + x low + s 0.0 + i n) + (while (> i 0) + (assign s (+f s (app f x float))) + (assign x (+f x h)) + (assign i (- i 1))) + ( *f s h))) + +(function "test" (n: int) + (app "integr" "square" 0.0 1.0 n float)) |
