blob: 92d1cb07360a39191039b3825deb2a5222cc4018 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
(* TEST
readonly_files = "main.c"
arguments = "-DINT_FLOAT -DFUN=test main.c"
* skip
reason = "This test is currently broken"
** 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))
|