heptagon/test/good/foldi_arrays.ept
Gwenaël Delaval 1a373b84eb Added some tests
Tests from image_filters
Examples of array iterators used
2014-01-15 00:07:29 +01:00

25 lines
519 B
Plaintext

type t = A | B | C
const n:int = 10
type couple = { t1 : int^n; t2 : int^n }
fun f (a:t;b:float;i:int;acc_in:couple) = (acc_out:couple)
let
switch a
| A do acc_out = { t1 = [ acc_in.t1 with [1] = acc_in.t1[1] + 1 ]; t2 = acc_in.t2 }
| B do acc_out = acc_in
| C do acc_out = { acc_in with .t2 = map<<n>> (+)(acc_in.t1,acc_in.t2) }
end
tel
node main() returns (o:couple)
var a:t^n; b:float^n;
let
a = [A, B, C, A, B, C, A, B, C, A];
b = 0.001^n;
o = foldi<<n>> f (a, b, { t1 = 0^n; t2 = 0^n });
tel