Update of /cvsroot/monetdb/MonetDB5/src/scheduler/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv31571/src/scheduler/Tests

Modified Files:
        memo01.stable.out memo02.stable.out sched00.stable.out 
Log Message:
The output of the instructions is cleaned up.
Amongst others, the properties of instructions are also displayed.
U = types not yet resolved
P = polymorphic instruction
G = subject to garbage control
R = subject to recycler control
J = jump towards other statement

A few tests are not handled yet. 


Index: sched00.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/scheduler/Tests/sched00.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sched00.stable.out  9 Dec 2007 16:21:19 -0000       1.2
+++ sched00.stable.out  15 Mar 2008 19:37:21 -0000      1.3
@@ -20,22 +20,22 @@
 #    io.print("done\n");
 #    mdb.list();
 #end f;
-function user.f():void;        # 0  (f:void)
-    i{runonce,rows>4} := 1;    # 1  (i:int)<-(_3:int)
-# just properties      # 2  (_4:str)
-    mdb.list();        # 3 MDBlist (_5:void)
-    io.print("start running\n");       # 4 IOprint_val (_6:void)<-(_7:str)
-    scheduler.isolation();     # 5 RUNisolation (_8:void)
-    io.print("done\n");        # 6 IOprint_val (_9:void)<-(_10:str)
-    mdb.list();        # 7 MDBlist (_11:void)
+function user.f():void;                 #  0 f:void 
+    i{runonce,rows>4} := 1;             #  1 i:int := _3:int 
+# just properties 
+    mdb.list();                         #  3 _5:void 
+    io.print("start running\n");        #  4 _6:void := IOprint_val(_7:str) 
+    scheduler.isolation();              #  5 _8:void 
+    io.print("done\n");                 #  6 _9:void := IOprint_val(_10:str) 
+    mdb.list();                         #  7 _11:void 
 end f; # 8  
 #
 #f(); #shows self-modification in action
 #
 #
-function user.main():void;     # 0  (main:void)
-    user.f();  # 1  (_1:void)
-#shows self-modification in action     # 2  (_2:str)
+function user.main():void;              #  0 main:void 
+    user.f();                           #  1 _1:void 
+#shows self-modification in action 
 end main;      # 3  
 function user.f():void;
     i{runonce,rows>4} := 1;

Index: memo01.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/scheduler/Tests/memo01.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- memo01.stable.out   2 Jan 2008 08:23:32 -0000       1.2
+++ memo01.stable.out   15 Mar 2008 19:37:21 -0000      1.3
@@ -80,69 +80,69 @@
 #      answer:= scheduler.pick(T9,T10,T11,T12,T13);
 #      io.print(answer);
 #
-function user.main():void;     # 0  (main:void)
-# The first memo driven execution      # 1  (_1:str)
-# use local cost functions, which leads to a hill-climber      # 2  (_2:str)
-# Use the backward scheduling.         # 3  (_3:str)
-    A := bat.new(:int,:int);   # 4 CMDBATnew 
(A:bat[:int,:int])<-(_5:int)(_5:int)
-    bat.insert(A,1,1); # 5 BKCinsert_bun 
(_6:void)<-(A:bat[:int,:int])(_7:int)(_7:int)
-    B := algebra.copy(A);      # 6 ALGcopy 
(B:bat[:int,:int])<-(A:bat[:int,:int])
-    bat.setWriteMode(B);       # 7 BKCsetWriteMode 
(_9:bat[:int,:int])<-(B:bat[:int,:int])
-    bat.insert(B,2,2); # 8 BKCinsert_bun 
(_10:void)<-(B:bat[:int,:int])(_11:int)(_11:int)
-    C := algebra.copy(B);      # 9 ALGcopy 
(C:bat[:int,:int])<-(B:bat[:int,:int])
-    bat.setWriteMode(C);       # 10 BKCsetWriteMode 
(_13:bat[:int,:int])<-(C:bat[:int,:int])
-    bat.insert(C,3,3); # 11 BKCinsert_bun 
(_14:void)<-(C:bat[:int,:int])(_15:int)(_15:int)
-    D := algebra.copy(C);      # 12 ALGcopy 
(D:bat[:int,:int])<-(C:bat[:int,:int])
-    bat.setWriteMode(D);       # 13 BKCsetWriteMode 
(_17:bat[:int,:int])<-(D:bat[:int,:int])
-    bat.insert(D,3,3); # 14 BKCinsert_bun 
(_18:void)<-(D:bat[:int,:int])(_15:int)(_15:int)
-    Acost := aggr.count(A);    # 15 ALGcount_bat 
(Acost:int)<-(A:bat[:int,:int])
-    Bcost := aggr.count(B);    # 16 ALGcount_bat 
(Bcost:int)<-(B:bat[:int,:int])
-    Ccost := aggr.count(C);    # 17 ALGcount_bat 
(Ccost:int)<-(C:bat[:int,:int])
-    Dcost := aggr.count(D);    # 18 ALGcount_bat 
(Dcost:int)<-(D:bat[:int,:int])
-    T1cost := calc.+(Acost,Bcost);     # 19 CALCbinaryADDintint 
(T1cost:int)<-(Acost:int)(Bcost:int)
-    T2cost := calc.+(Bcost,Ccost);     # 20 CALCbinaryADDintint 
(T2cost:int)<-(Bcost:int)(Ccost:int)
-    T3cost := calc.+(Ccost,Dcost);     # 21 CALCbinaryADDintint 
(T3cost:int)<-(Ccost:int)(Dcost:int)
-    io.printf("choicepoint 1\n");      # 22 IOprint_str (_26:void)<-(_27:str)
-    scheduler.choice();        # 23 RUNchoice (_28:void)
-    T1 := algebra.join(A,B);   # 24 ALGjoin 
(T1:bat[:int,:int])<-(A:bat[:int,:int])(B:bat[:int,:int])
-    T1cost := aggr.count(T1);  # 25 ALGcount_bat 
(T1cost:int)<-(T1:bat[:int,:int])
-    T2 := algebra.join(B,C);   # 26 ALGjoin 
(T2:bat[:int,:int])<-(B:bat[:int,:int])(C:bat[:int,:int])
-    T2cost := aggr.count(T2);  # 27 ALGcount_bat 
(T2cost:int)<-(T2:bat[:int,:int])
-    T3 := algebra.join(C,D);   # 28 ALGjoin 
(T3:bat[:int,:int])<-(C:bat[:int,:int])(D:bat[:int,:int])
-    T3cost := aggr.count(T3);  # 29 ALGcount_bat 
(T3cost:int)<-(T3:bat[:int,:int])
-    io.printf("choicepoint 2\n");      # 30 IOprint_str (_32:void)<-(_33:str)
-    scheduler.choice(T1cost,T1,T2cost,T2,T3cost,T3);   # 31 RUNchoice 
(_34:void)<-(T1cost:int)(T1:bat[:int,:int])(T2cost:int)(T2:bat[:int,:int])(T3cost:int)(T3:bat[:int,:int])
-    T4cost := calc.+(T1cost,Ccost);    # 32 CALCbinaryADDintint 
(T4cost:int)<-(T1cost:int)(Ccost:int)
-    T5cost := calc.+(Acost,T2cost);    # 33 CALCbinaryADDintint 
(T5cost:int)<-(Acost:int)(T2cost:int)
-    T6cost := calc.+(T2cost,Dcost);    # 34 CALCbinaryADDintint 
(T6cost:int)<-(T2cost:int)(Dcost:int)
-    T7cost := calc.+(Bcost,T3cost);    # 35 CALCbinaryADDintint 
(T7cost:int)<-(Bcost:int)(T3cost:int)
-    T8cost := calc.+(Ccost,Dcost);     # 36 CALCbinaryADDintint 
(T8cost:int)<-(Ccost:int)(Dcost:int)
-    T4 := algebra.join(T1,C);  # 37 ALGjoin 
(T4:bat[:int,:int])<-(T1:bat[:int,:int])(C:bat[:int,:int])
-    T4cost := aggr.count(T4);  # 38 ALGcount_bat 
(T4cost:int)<-(T4:bat[:int,:int])
-    T5 := algebra.join(A,T2);  # 39 ALGjoin 
(T5:bat[:int,:int])<-(A:bat[:int,:int])(T2:bat[:int,:int])
-    T5cost := aggr.count(T5);  # 40 ALGcount_bat 
(T5cost:int)<-(T5:bat[:int,:int])
-    T6 := algebra.join(T2,D);  # 41 ALGjoin 
(T6:bat[:int,:int])<-(T2:bat[:int,:int])(D:bat[:int,:int])
-    T6cost := aggr.count(T6);  # 42 ALGcount_bat 
(T6cost:int)<-(T6:bat[:int,:int])
-    T7 := algebra.join(B,T3);  # 43 ALGjoin 
(T7:bat[:int,:int])<-(B:bat[:int,:int])(T3:bat[:int,:int])
-    T7cost := aggr.count(T7);  # 44 ALGcount_bat 
(T7cost:int)<-(T7:bat[:int,:int])
-    T8 := algebra.join(C,D);   # 45 ALGjoin 
(T8:bat[:int,:int])<-(C:bat[:int,:int])(D:bat[:int,:int])
-    T8cost := aggr.count(T8);  # 46 ALGcount_bat 
(T8cost:int)<-(T8:bat[:int,:int])
-    io.printf("choicepoint 3\n");      # 47 IOprint_str (_45:void)<-(_46:str)
-    scheduler.choice(T4cost,T4,T5cost,T5,T6cost,T6,T7cost,T7,T8cost,T8);       
# 48 RUNchoice 
(_47:void)<-(T4cost:int)(T4:bat[:int,:int])(T5cost:int)(T5:bat[:int,:int])(T6cost:int)(T6:bat[:int,:int])(T7cost:int)(T7:bat[:int,:int])(T8cost:int)(T8:bat[:int,:int])
-    T9cost := calc.+(T2cost,Dcost);    # 49 CALCbinaryADDintint 
(T9cost:int)<-(T2cost:int)(Dcost:int)
-    T10cost := calc.+(T5cost,Dcost);   # 50 CALCbinaryADDintint 
(T10cost:int)<-(T5cost:int)(Dcost:int)
-    T11cost := calc.+(Acost,T6cost);   # 51 CALCbinaryADDintint 
(T11cost:int)<-(Acost:int)(T6cost:int)
-    T12cost := calc.+(Acost,T7cost);   # 52 CALCbinaryADDintint 
(T12cost:int)<-(Acost:int)(T7cost:int)
-    T13cost := calc.+(T1cost,T8cost);  # 53 CALCbinaryADDintint 
(T13cost:int)<-(T1cost:int)(T8cost:int)
-    T9 := algebra.join(T4,D);  # 54 ALGjoin 
(T9:bat[:int,:int])<-(T4:bat[:int,:int])(D:bat[:int,:int])
-    T10 := algebra.join(T5,D); # 55 ALGjoin 
(T10:bat[:int,:int])<-(T5:bat[:int,:int])(D:bat[:int,:int])
-    T11 := algebra.join(A,T6); # 56 ALGjoin 
(T11:bat[:int,:int])<-(A:bat[:int,:int])(T6:bat[:int,:int])
-    T12 := algebra.join(A,T7); # 57 ALGjoin 
(T12:bat[:int,:int])<-(A:bat[:int,:int])(T7:bat[:int,:int])
-    T13 := algebra.join(T1,T8);        # 58 ALGjoin 
(T13:bat[:int,:int])<-(T1:bat[:int,:int])(T8:bat[:int,:int])
-    io.printf("choicepoint 4\n");      # 59 IOprint_str (_58:void)<-(_59:str)
-    
scheduler.choice(T9cost,T9,T10cost,T10,T11cost,T11,T12cost,T12,T13cost,T13);    
   # 60 RUNchoice 
(_60:void)<-(T9cost:int)(T9:bat[:int,:int])(T10cost:int)(T10:bat[:int,:int])(T11cost:int)(T11:bat[:int,:int])(T12cost:int)(T12:bat[:int,:int])(T13cost:int)(T13:bat[:int,:int])
-    answer := scheduler.pick(T9,T10,T11,T12,T13);      # 61 RUNpickResult 
(answer:bat[:int,:int])<-(T9:bat[:int,:int])(T10:bat[:int,:int])(T11:bat[:int,:int])(T12:bat[:int,:int])(T13:bat[:int,:int])
-    io.print(answer);  # 62 IOprint_val (_62:void)<-(answer:bat[:int,:int])
+function user.main():void;              #  0 main:void {G}
+# The first memo driven execution 
+# use local cost functions, which leads to a hill-climber 
+# Use the backward scheduling. 
+    A := bat.new(:int,:int);            #  4 A:bat[:int,:int] := 
CMDBATnew(_5:int, _5:int) {G}
+    bat.insert(A,1,1);                  #  5 _6:void := 
BKCinsert_bun(A:bat[:int,:int], _7:int, _7:int) 
+    B := algebra.copy(A);               #  6 B:bat[:int,:int] := 
ALGcopy(A:bat[:int,:int]) {G}
+    bat.setWriteMode(B);                #  7 _9:bat[:int,:int] := 
BKCsetWriteMode(B:bat[:int,:int]) {G}
+    bat.insert(B,2,2);                  #  8 _10:void := 
BKCinsert_bun(B:bat[:int,:int], _11:int, _11:int) 
+    C := algebra.copy(B);               #  9 C:bat[:int,:int] := 
ALGcopy(B:bat[:int,:int]) {G}
+    bat.setWriteMode(C);                # 10 _13:bat[:int,:int] := 
BKCsetWriteMode(C:bat[:int,:int]) {G}
+    bat.insert(C,3,3);                  # 11 _14:void := 
BKCinsert_bun(C:bat[:int,:int], _15:int, _15:int) 
+    D := algebra.copy(C);               # 12 D:bat[:int,:int] := 
ALGcopy(C:bat[:int,:int]) {G}
+    bat.setWriteMode(D);                # 13 _17:bat[:int,:int] := 
BKCsetWriteMode(D:bat[:int,:int]) {G}
+    bat.insert(D,3,3);                  # 14 _18:void := 
BKCinsert_bun(D:bat[:int,:int], _15:int, _15:int) 
+    Acost := aggr.count(A);             # 15 Acost:int := 
ALGcount_bat(A:bat[:int,:int]) 
+    Bcost := aggr.count(B);             # 16 Bcost:int := 
ALGcount_bat(B:bat[:int,:int]) 
+    Ccost := aggr.count(C);             # 17 Ccost:int := 
ALGcount_bat(C:bat[:int,:int]) 
+    Dcost := aggr.count(D);             # 18 Dcost:int := 
ALGcount_bat(D:bat[:int,:int]) 
+    T1cost := calc.+(Acost,Bcost);      # 19 T1cost:int := 
CALCbinaryADDintint(Acost:int, Bcost:int) 
+    T2cost := calc.+(Bcost,Ccost);      # 20 T2cost:int := 
CALCbinaryADDintint(Bcost:int, Ccost:int) 
+    T3cost := calc.+(Ccost,Dcost);      # 21 T3cost:int := 
CALCbinaryADDintint(Ccost:int, Dcost:int) 
+    io.printf("choicepoint 1\n");       # 22 _26:void := IOprint_str(_27:str) 
+    scheduler.choice();                 # 23 _28:void 
+    T1 := algebra.join(A,B);            # 24 T1:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], B:bat[:int,:int]) {G}
+    T1cost := aggr.count(T1);           # 25 T1cost:int := 
ALGcount_bat(T1:bat[:int,:int]) 
+    T2 := algebra.join(B,C);            # 26 T2:bat[:int,:int] := 
ALGjoin(B:bat[:int,:int], C:bat[:int,:int]) {G}
+    T2cost := aggr.count(T2);           # 27 T2cost:int := 
ALGcount_bat(T2:bat[:int,:int]) 
+    T3 := algebra.join(C,D);            # 28 T3:bat[:int,:int] := 
ALGjoin(C:bat[:int,:int], D:bat[:int,:int]) {G}
+    T3cost := aggr.count(T3);           # 29 T3cost:int := 
ALGcount_bat(T3:bat[:int,:int]) 
+    io.printf("choicepoint 2\n");       # 30 _32:void := IOprint_str(_33:str) 
+    scheduler.choice(T1cost,T1,T2cost,T2,T3cost,T3);# 31 _34:void := 
RUNchoice(T1cost:int, T1:bat[:int,:int], T2cost:int, T2:bat[:int,:int], 
T3cost:int, T3:bat[:int,:int]) 
+    T4cost := calc.+(T1cost,Ccost);     # 32 T4cost:int := 
CALCbinaryADDintint(T1cost:int, Ccost:int) 
+    T5cost := calc.+(Acost,T2cost);     # 33 T5cost:int := 
CALCbinaryADDintint(Acost:int, T2cost:int) 
+    T6cost := calc.+(T2cost,Dcost);     # 34 T6cost:int := 
CALCbinaryADDintint(T2cost:int, Dcost:int) 
+    T7cost := calc.+(Bcost,T3cost);     # 35 T7cost:int := 
CALCbinaryADDintint(Bcost:int, T3cost:int) 
+    T8cost := calc.+(Ccost,Dcost);      # 36 T8cost:int := 
CALCbinaryADDintint(Ccost:int, Dcost:int) 
+    T4 := algebra.join(T1,C);           # 37 T4:bat[:int,:int] := 
ALGjoin(T1:bat[:int,:int], C:bat[:int,:int]) {G}
+    T4cost := aggr.count(T4);           # 38 T4cost:int := 
ALGcount_bat(T4:bat[:int,:int]) 
+    T5 := algebra.join(A,T2);           # 39 T5:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T2:bat[:int,:int]) {G}
+    T5cost := aggr.count(T5);           # 40 T5cost:int := 
ALGcount_bat(T5:bat[:int,:int]) 
+    T6 := algebra.join(T2,D);           # 41 T6:bat[:int,:int] := 
ALGjoin(T2:bat[:int,:int], D:bat[:int,:int]) {G}
+    T6cost := aggr.count(T6);           # 42 T6cost:int := 
ALGcount_bat(T6:bat[:int,:int]) 
+    T7 := algebra.join(B,T3);           # 43 T7:bat[:int,:int] := 
ALGjoin(B:bat[:int,:int], T3:bat[:int,:int]) {G}
+    T7cost := aggr.count(T7);           # 44 T7cost:int := 
ALGcount_bat(T7:bat[:int,:int]) 
+    T8 := algebra.join(C,D);            # 45 T8:bat[:int,:int] := 
ALGjoin(C:bat[:int,:int], D:bat[:int,:int]) {G}
+    T8cost := aggr.count(T8);           # 46 T8cost:int := 
ALGcount_bat(T8:bat[:int,:int]) 
+    io.printf("choicepoint 3\n");       # 47 _45:void := IOprint_str(_46:str) 
+    scheduler.choice(T4cost,T4,T5cost,T5,T6cost,T6,T7cost,T7,T8cost,T8);# 48 
_47:void := RUNchoice(T4cost:int, T4:bat[:int,:int], T5cost:int, 
T5:bat[:int,:int], T6cost:int, T6:bat[:int,:int], T7cost:int, 
T7:bat[:int,:int], T8cost:int, T8:bat[:int,:int]) 
+    T9cost := calc.+(T2cost,Dcost);     # 49 T9cost:int := 
CALCbinaryADDintint(T2cost:int, Dcost:int) 
+    T10cost := calc.+(T5cost,Dcost);    # 50 T10cost:int := 
CALCbinaryADDintint(T5cost:int, Dcost:int) 
+    T11cost := calc.+(Acost,T6cost);    # 51 T11cost:int := 
CALCbinaryADDintint(Acost:int, T6cost:int) 
+    T12cost := calc.+(Acost,T7cost);    # 52 T12cost:int := 
CALCbinaryADDintint(Acost:int, T7cost:int) 
+    T13cost := calc.+(T1cost,T8cost);   # 53 T13cost:int := 
CALCbinaryADDintint(T1cost:int, T8cost:int) 
+    T9 := algebra.join(T4,D);           # 54 T9:bat[:int,:int] := 
ALGjoin(T4:bat[:int,:int], D:bat[:int,:int]) {G}
+    T10 := algebra.join(T5,D);          # 55 T10:bat[:int,:int] := 
ALGjoin(T5:bat[:int,:int], D:bat[:int,:int]) {G}
+    T11 := algebra.join(A,T6);          # 56 T11:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T6:bat[:int,:int]) {G}
+    T12 := algebra.join(A,T7);          # 57 T12:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T7:bat[:int,:int]) {G}
+    T13 := algebra.join(T1,T8);         # 58 T13:bat[:int,:int] := 
ALGjoin(T1:bat[:int,:int], T8:bat[:int,:int]) {G}
+    io.printf("choicepoint 4\n");       # 59 _58:void := IOprint_str(_59:str) 
+    
scheduler.choice(T9cost,T9,T10cost,T10,T11cost,T11,T12cost,T12,T13cost,T13);# 
60 _60:void := RUNchoice(T9cost:int, T9:bat[:int,:int], T10cost:int, 
T10:bat[:int,:int], T11cost:int, T11:bat[:int,:int], T12cost:int, 
T12:bat[:int,:int], T13cost:int, T13:bat[:int,:int]) 
+    answer := scheduler.pick(T9,T10,T11,T12,T13);# 61 answer:bat[:int,:int] := 
RUNpickResult(T9:bat[:int,:int], T10:bat[:int,:int], T11:bat[:int,:int], 
T12:bat[:int,:int], T13:bat[:int,:int]) {G}
+    io.print(answer);                   # 62 _62:void := 
IOprint_val(answer:bat[:int,:int]) 
 end main;      # 63  
 choicepoint 1
 choicepoint 2

Index: memo02.stable.out
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/scheduler/Tests/memo02.stable.out,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- memo02.stable.out   13 Mar 2007 22:27:51 -0000      1.2
+++ memo02.stable.out   15 Mar 2008 19:37:21 -0000      1.3
@@ -42,39 +42,39 @@
 #      answer:= scheduler.pick(T9,T10,T11,T12,T13);
 #      io.print(answer);
 #
-function user.main():void;     # 0  (main:void)
-# The first memo driven execution      # 1  (_1:str)
-# use a generic cost function  # 2  (_2:str)
-    A := bat.new(:int,:int);   # 3 CMDBATnew 
(A:bat[:int,:int])<-(_4:int)(_4:int)
-    bat.insert(A,1,1); # 4 BKCinsert_bun 
(_5:void)<-(A:bat[:int,:int])(_6:int)(_6:int)
-    B := algebra.copy(A);      # 5 ALGcopy 
(B:bat[:int,:int])<-(A:bat[:int,:int])
-    bat.setWriteMode(B);       # 6 BKCsetWriteMode 
(_8:bat[:int,:int])<-(B:bat[:int,:int])
-    bat.insert(B,2,2); # 7 BKCinsert_bun 
(_9:void)<-(B:bat[:int,:int])(_10:int)(_10:int)
-    C := algebra.copy(B);      # 8 ALGcopy 
(C:bat[:int,:int])<-(B:bat[:int,:int])
-    bat.setWriteMode(C);       # 9 BKCsetWriteMode 
(_12:bat[:int,:int])<-(C:bat[:int,:int])
-    bat.insert(C,3,3); # 10 BKCinsert_bun 
(_13:void)<-(C:bat[:int,:int])(_14:int)(_14:int)
-    D := algebra.copy(C);      # 11 ALGcopy 
(D:bat[:int,:int])<-(C:bat[:int,:int])
-    bat.setWriteMode(D);       # 12 BKCsetWriteMode 
(_16:bat[:int,:int])<-(D:bat[:int,:int])
-    bat.insert(D,3,3); # 13 BKCinsert_bun 
(_17:void)<-(D:bat[:int,:int])(_14:int)(_14:int)
-    scheduler.choice();        # 14 RUNchoice (_18:void)
-    T1 := algebra.join(A,B);   # 15 ALGjoin 
(T1:bat[:int,:int])<-(A:bat[:int,:int])(B:bat[:int,:int])
-    T2 := algebra.join(B,C);   # 16 ALGjoin 
(T2:bat[:int,:int])<-(B:bat[:int,:int])(C:bat[:int,:int])
-    T3 := algebra.join(C,D);   # 17 ALGjoin 
(T3:bat[:int,:int])<-(C:bat[:int,:int])(D:bat[:int,:int])
-    scheduler.choice("getVolume",T1,T2,T3);    # 18 RUNchoice 
(_22:void)<-(_23:str)(T1:bat[:int,:int])(T2:bat[:int,:int])(T3:bat[:int,:int])
-    T4 := algebra.join(T1,C);  # 19 ALGjoin 
(T4:bat[:int,:int])<-(T1:bat[:int,:int])(C:bat[:int,:int])
-    T5 := algebra.join(A,T2);  # 20 ALGjoin 
(T5:bat[:int,:int])<-(A:bat[:int,:int])(T2:bat[:int,:int])
-    T6 := algebra.join(T2,D);  # 21 ALGjoin 
(T6:bat[:int,:int])<-(T2:bat[:int,:int])(D:bat[:int,:int])
-    T7 := algebra.join(B,T3);  # 22 ALGjoin 
(T7:bat[:int,:int])<-(B:bat[:int,:int])(T3:bat[:int,:int])
-    T8 := algebra.join(C,D);   # 23 ALGjoin 
(T8:bat[:int,:int])<-(C:bat[:int,:int])(D:bat[:int,:int])
-    scheduler.choice("getVolume",T4,T5,T6,T7,T8);      # 24 RUNchoice 
(_29:void)<-(_23:str)(T4:bat[:int,:int])(T5:bat[:int,:int])(T6:bat[:int,:int])(T7:bat[:int,:int])(T8:bat[:int,:int])
-    T9 := algebra.join(T4,D);  # 25 ALGjoin 
(T9:bat[:int,:int])<-(T4:bat[:int,:int])(D:bat[:int,:int])
-    T10 := algebra.join(T5,D); # 26 ALGjoin 
(T10:bat[:int,:int])<-(T5:bat[:int,:int])(D:bat[:int,:int])
-    T11 := algebra.join(A,T6); # 27 ALGjoin 
(T11:bat[:int,:int])<-(A:bat[:int,:int])(T6:bat[:int,:int])
-    T12 := algebra.join(A,T7); # 28 ALGjoin 
(T12:bat[:int,:int])<-(A:bat[:int,:int])(T7:bat[:int,:int])
-    T13 := algebra.join(T1,T8);        # 29 ALGjoin 
(T13:bat[:int,:int])<-(T1:bat[:int,:int])(T8:bat[:int,:int])
-    scheduler.choice("getVolume",T9,T10,T11,T12,T13);  # 30 RUNchoice 
(_35:void)<-(_23:str)(T9:bat[:int,:int])(T10:bat[:int,:int])(T11:bat[:int,:int])(T12:bat[:int,:int])(T13:bat[:int,:int])
-    answer := scheduler.pick(T9,T10,T11,T12,T13);      # 31 RUNpickResult 
(answer:bat[:int,:int])<-(T9:bat[:int,:int])(T10:bat[:int,:int])(T11:bat[:int,:int])(T12:bat[:int,:int])(T13:bat[:int,:int])
-    io.print(answer);  # 32 IOprint_val (_37:void)<-(answer:bat[:int,:int])
+function user.main():void;              #  0 main:void {G}
+# The first memo driven execution 
+# use a generic cost function 
+    A := bat.new(:int,:int);            #  3 A:bat[:int,:int] := 
CMDBATnew(_4:int, _4:int) {G}
+    bat.insert(A,1,1);                  #  4 _5:void := 
BKCinsert_bun(A:bat[:int,:int], _6:int, _6:int) 
+    B := algebra.copy(A);               #  5 B:bat[:int,:int] := 
ALGcopy(A:bat[:int,:int]) {G}
+    bat.setWriteMode(B);                #  6 _8:bat[:int,:int] := 
BKCsetWriteMode(B:bat[:int,:int]) {G}
+    bat.insert(B,2,2);                  #  7 _9:void := 
BKCinsert_bun(B:bat[:int,:int], _10:int, _10:int) 
+    C := algebra.copy(B);               #  8 C:bat[:int,:int] := 
ALGcopy(B:bat[:int,:int]) {G}
+    bat.setWriteMode(C);                #  9 _12:bat[:int,:int] := 
BKCsetWriteMode(C:bat[:int,:int]) {G}
+    bat.insert(C,3,3);                  # 10 _13:void := 
BKCinsert_bun(C:bat[:int,:int], _14:int, _14:int) 
+    D := algebra.copy(C);               # 11 D:bat[:int,:int] := 
ALGcopy(C:bat[:int,:int]) {G}
+    bat.setWriteMode(D);                # 12 _16:bat[:int,:int] := 
BKCsetWriteMode(D:bat[:int,:int]) {G}
+    bat.insert(D,3,3);                  # 13 _17:void := 
BKCinsert_bun(D:bat[:int,:int], _14:int, _14:int) 
+    scheduler.choice();                 # 14 _18:void 
+    T1 := algebra.join(A,B);            # 15 T1:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], B:bat[:int,:int]) {G}
+    T2 := algebra.join(B,C);            # 16 T2:bat[:int,:int] := 
ALGjoin(B:bat[:int,:int], C:bat[:int,:int]) {G}
+    T3 := algebra.join(C,D);            # 17 T3:bat[:int,:int] := 
ALGjoin(C:bat[:int,:int], D:bat[:int,:int]) {G}
+    scheduler.choice("getVolume",T1,T2,T3);# 18 _22:void := RUNchoice(_23:str, 
T1:bat[:int,:int], T2:bat[:int,:int], T3:bat[:int,:int]) 
+    T4 := algebra.join(T1,C);           # 19 T4:bat[:int,:int] := 
ALGjoin(T1:bat[:int,:int], C:bat[:int,:int]) {G}
+    T5 := algebra.join(A,T2);           # 20 T5:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T2:bat[:int,:int]) {G}
+    T6 := algebra.join(T2,D);           # 21 T6:bat[:int,:int] := 
ALGjoin(T2:bat[:int,:int], D:bat[:int,:int]) {G}
+    T7 := algebra.join(B,T3);           # 22 T7:bat[:int,:int] := 
ALGjoin(B:bat[:int,:int], T3:bat[:int,:int]) {G}
+    T8 := algebra.join(C,D);            # 23 T8:bat[:int,:int] := 
ALGjoin(C:bat[:int,:int], D:bat[:int,:int]) {G}
+    scheduler.choice("getVolume",T4,T5,T6,T7,T8);# 24 _29:void := 
RUNchoice(_23:str, T4:bat[:int,:int], T5:bat[:int,:int], T6:bat[:int,:int], 
T7:bat[:int,:int], T8:bat[:int,:int]) 
+    T9 := algebra.join(T4,D);           # 25 T9:bat[:int,:int] := 
ALGjoin(T4:bat[:int,:int], D:bat[:int,:int]) {G}
+    T10 := algebra.join(T5,D);          # 26 T10:bat[:int,:int] := 
ALGjoin(T5:bat[:int,:int], D:bat[:int,:int]) {G}
+    T11 := algebra.join(A,T6);          # 27 T11:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T6:bat[:int,:int]) {G}
+    T12 := algebra.join(A,T7);          # 28 T12:bat[:int,:int] := 
ALGjoin(A:bat[:int,:int], T7:bat[:int,:int]) {G}
+    T13 := algebra.join(T1,T8);         # 29 T13:bat[:int,:int] := 
ALGjoin(T1:bat[:int,:int], T8:bat[:int,:int]) {G}
+    scheduler.choice("getVolume",T9,T10,T11,T12,T13);# 30 _35:void := 
RUNchoice(_23:str, T9:bat[:int,:int], T10:bat[:int,:int], T11:bat[:int,:int], 
T12:bat[:int,:int], T13:bat[:int,:int]) 
+    answer := scheduler.pick(T9,T10,T11,T12,T13);# 31 answer:bat[:int,:int] := 
RUNpickResult(T9:bat[:int,:int], T10:bat[:int,:int], T11:bat[:int,:int], 
T12:bat[:int,:int], T13:bat[:int,:int]) {G}
+    io.print(answer);                   # 32 _37:void := 
IOprint_val(answer:bat[:int,:int]) 
 end main;      # 33  
 #-----------------#
 # h    t         # name


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to