summaryrefslogtreecommitdiff
path: root/tests/source/cosinus.scade
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ansys.com>2014-07-01 15:42:57 +0200
committerAlex Auvolat <alex.auvolat@ansys.com>2014-07-01 15:42:57 +0200
commitf97a886970bef9e1d6e8a1e217732d6ef8be087e (patch)
treef79d165af76f23fece80c5bcc5003d5e2b82bd38 /tests/source/cosinus.scade
parent2d322a06b882542bab3d98cf08abefa906a54942 (diff)
downloadscade-analyzer-f97a886970bef9e1d6e8a1e217732d6ef8be087e.tar.gz
scade-analyzer-f97a886970bef9e1d6e8a1e217732d6ef8be087e.zip
Adapt for real type with Apron ; not very efficient ATM.
Diffstat (limited to 'tests/source/cosinus.scade')
-rw-r--r--tests/source/cosinus.scade19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/source/cosinus.scade b/tests/source/cosinus.scade
new file mode 100644
index 0000000..a1596c2
--- /dev/null
+++ b/tests/source/cosinus.scade
@@ -0,0 +1,19 @@
+const dt: real = 0.1;
+
+node integrator(first: real; v: real; dt: real) returns (probe i: real)
+let
+ i = (first -> pre i) + (dt * v);
+tel
+
+node test(i: int) returns (a, b, c: int; exit: bool)
+var
+ probe cos, probe cosprime: real;
+let
+ cosprime = integrator(1.0, 0. -> pre (-cos), dt);
+ cos = integrator(0., cosprime, dt);
+ a = int(cos * 1000.);
+ b = int(cosprime * 1000.);
+ c = int(-cos * 1000.);
+ exit = (i > 8000);
+tel
+