(* TEST readonly_files = "main.c"; arguments = "-DINT_FLOAT -DFUN=test main.c"; reason = "This test is currently broken"; skip; asmgen; *) (**************************************************************************) (* *) (* OCaml *) (* *) (* 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 GNU Lesser General Public License version 2.1, with the *) (* special exception on linking described in the file LICENSE. *) (* *) (**************************************************************************) (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))