heptagon/test/good/array_iterators.ept
Léonard Gérard 9e881550a7 test iterators.
2011-06-28 17:50:42 +02:00

62 lines
904 B
Plaintext

const n:int = 42
node plusone(a:int) returns (o:int)
let
o = a+1;
tel
fun f() returns (o:int^n)
let
o = mapi<<n>> plusone ();
tel
node g(a:int^n) returns (o:int^n)
let
o = map<<n>> plusone (a);
tel
node sum_acc (a, acc_in:int) returns (acc_out:int)
let
acc_out = acc_in + a;
tel
node h(a:int^n) returns (m:int)
let
m = fold<<n>> sum_acc (a, 0);
tel
node sum_dup (a, acc_in:int) returns (o:int; acc_out:int)
let
acc_out = acc_in + a;
o = acc_out;
tel
node p(a:int^n) returns (o:int^n)
var acc:int;
let
(o, acc) = mapfold<<n>> sum_dup (a, 0);
tel
node k(a,b:int^n) returns (o:int^n)
let
o = map<<n>> (+) (a,b);
tel
node iter_reset(a:int^n; r:bool) returns (o:int^n)
let
reset
o = map<<n>> plusone (a);
every (r & r)
tel
node m(t:int^n; a:int; i:int) returns (o:int)
let
o = a * i + t[0];
tel
node itmapi(a:int^n) returns (o:int^n)
let
o = mapi <<n>> m<(a)>(a);
tel