heptagon/test/good/array1.ept

60 lines
926 B
Text
Raw Normal View History

2011-03-17 17:12:16 +01:00
const n:int = 10
const m:int = 10
node concatenate(a:int^n; b:int^m) returns (o1, o2: int^(n+m))
let
o1 = a @ b;
o2 = b @ a;
tel
node slicing (a:int^n) returns (u1,u2 : int^3)
let
u1 = a[0 .. 2];
u2 = a[3 .. 5];
tel
node elt (a:int^m) returns (o:int^m)
var x : int;
let
x = a[2] + 1;
o = [ a with [1] = x ];
tel
node upd_dyn(a:int^m; i:int) returns (o:int^m)
let
o = [ a with [i] = a[0] ];
tel
node elt_dyn (a:int^m; i:int) returns (o:int^m)
var x : int;
let
x = a.[i] default 3;
o = [ a with [1] = x ];
tel
node ten (i: int) returns (o:int^m)
let
o = i^m;
tel
node constant(a,b:int) returns (o:int^4)
let
o = [a,b,a,b];
tel
2011-03-17 17:12:16 +01:00
2011-03-22 17:43:04 +01:00
node main() returns (r :int)
var x,y : int^10; z,t : int^20; r1,r2 :int^3;
2011-03-17 17:12:16 +01:00
let
x = ten(3);
y = ten(4);
(z,t) = concatenate(x,y);
(r1,r2) = slicing(x);
2011-03-22 17:43:04 +01:00
r = r1[>0<];
2011-03-17 17:12:16 +01:00
tel
node elt_trunc (a:int^m^m; i,j:int) returns (o : int)
let
o = a[>i<][>j<];
2011-03-22 17:43:04 +01:00
tel