### Profile

Statistics
| Branch: | Tag: | Revision:

## lustrec / test / src / arrays_arnaud / generic1.lus @ 22fe1c93

1 2 3 22fe1c93 ploc ```type choice = enum { one, two }; ``` ```type entier = int; ``` ```const PI = 3; ``` ```const tab = [1.,2.,3.,4.]; ``` ```const M1 = [ [ 2.1 ], [ 1.0 ], [ 3.0 ], [ 4.2 ] ] ; ``` ```const M2 = [ [ 1.1, 2.2, 1.0, 1.0 ] ] ; ``` ```function _MatMul_real ( ``` ``` const n, m, p : int ; ``` ``` in1 : real^n^m ; ``` ``` in2 : real^m^p) ``` ```returns ( ``` ``` out : real^n^p) ; ``` ```imported node imp1(const m:int; a:int^(PI*m)) returns (c:int^m); ``` ```imported node imp2(const n:int; a:int^n) returns (d:int^n); ``` ```node mult( ``` ``` in1 : real^4^1) ``` ```returns ( ``` ``` out : real^1^1) ``` ```var l,p; ``` ```let ``` ``` l = [ tab, [3.,4.,5.,6.] ]; ``` ``` p = l + [tab,tab+[3.,4.,5.,6.]]; ``` ``` out = _MatMul_real (1,4,1,[ [ 2.1 ], [ 1.0 ], [ 3.0 ], [ 4.2 ] ], in1); ``` ```tel ``` ``` ``` ```node base(const p:int; x:int^(PI*p)) returns (y:int^p) ``` ```var z:int^(PI*p); ``` ```let ``` ``` z = imp2(PI*p, x); ``` ``` y = imp1(p, z); ``` ```tel ```