diff options
Diffstat (limited to 'omega/examples/experiments/swim/swim.out')
-rw-r--r-- | omega/examples/experiments/swim/swim.out | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/omega/examples/experiments/swim/swim.out b/omega/examples/experiments/swim/swim.out new file mode 100644 index 0000000..6adffdb --- /dev/null +++ b/omega/examples/experiments/swim/swim.out @@ -0,0 +1,176 @@ +>>> symbolic N3,M,N; +>>> +>>> +>>> s0:= {[t,i,j] : 0 <= j <= N-1 && 0 <= i <= M-1 && 0 <= t <= N3-1 }; +>>> t0:={[t,i,j] -> [0,t,0,i,0,j,0]}; +>>> s1:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1}; +>>> +>>> t1:={[t,j] -> [0,t,1,j,0,0,0]}; +>>> s2:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1}; +>>> t2:={[t,i] -> [0,t,2,i,0,0,0]}; +>>> +>>> s3:= {[t] : 0 <= t <= N3-1 }; +>>> +>>> t3:={[t] -> [0,t,3,0,0,0,0]}; +>>> +>>> s4:= {[t,i,j] : 0 <= j <= N-1 && i=M-1 && 0 <= t <= N3-1 }; +>>> t4:={[t,i,j] -> [0,t,4,i,0,j,0] }; +>>> s5:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1 }; +>>> +>>> t5:={[t,j] -> [0,t,8,j,0,0,0]}; +>>> +>>> s6:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1 }; +>>> +>>> t6:={[t,i] -> [0,t,9,i,0,0,0]}; +>>> +>>> s7:= {[t] : 0 <= t <= N3-1 }; +>>> +>>> t7:={[t] -> [0,t,10,0,0,0,0]}; +>>> +>>> s8:= {[t,i,j] : 0 <= j <= N-1 && M-2 <= i <= M-1 && 0 <= t <= N3-1 }; +>>> t8:= {[t,i,j] -> [0,t,12,i,0,j,0]}; +>>> s9:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1 }; +>>> +>>> t9:={[t,j] -> [0,t,15,j,0,0,0]}; +>>> s10:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1 }; +>>> t10:={[t,i] -> [0,t,16,i,3,0,0]}; +>>> +>>> s11:= {[t] : 0 <= t <= N3-1 }; +>>> +>>> t11:={[t] -> [0,t,17,0,0,0,0]}; +>>> +>>> s12:= {[t,i,j] : 0 <= j <= N-1 && 0 <= i <= 1 && 0 <= t <= N3-1 }; +>>> t12:= {[t,i,j] -> [0,t,11,i,0,j,0]}; +>>> s13:= {[t,i,j] : N-2 <= j <= N-1 && 2 <= i <= M-3 && 0 <= t <= N3-1 }; +>>> t13:= {[t,i,j] -> [0,t,14,i,0,j,0]}; +>>> s14:= {[t,i,j] : 0 <= j <= 1 && 2 <= i <= M-3 && 0 <= t <= N3-1 }; +>>> t14:= {[t,i,j] -> [0,t,13,i,0,j,0]}; +>>> s15:= {[t,i,j] : 2 <= j <= N-3 && 2 <= i <= M-3 && 0 <= t <= N3-1 }; +>>> t15:={[t,i,j] -> [0,t,0,i+3,0,j+2,2]}; +>>> +>>> s16:= {[t,i,j] : 0 <= j <= N-1 && i=0 && 0 <= t <= N3-1 }; +>>> t16:={[t,i,j] -> [0,t,5,i,0,j,0] }; +>>> +>>> s17:= {[t,i,j] : j =N-1 && 1<= i <=M-2 && 0 <= t <= N3-1 }; +>>> t17:={[t,i,j] -> [0,t,6,i,0,j,0] }; +>>> +>>> s18:= {[t,i,j] : j =0 && 1<= i <=M-2 && 0 <= t <= N3-1}; +>>> t18:={[t,i,j] -> [0,t,7,i,0,j,0] }; +>>> +>>> s19:= {[t,i,j] :1 <= j <= N-2 && 1 <= i <= M-2 && 0 <= t <= N3-1 }; +>>> t19:={[t,i,j] -> [0,t,0,i+2,0,j+1,1]}; +>>> +>>> +>>> +>>> codegen 2 t0:s0,t1:s1,t2:s2,t3:s3,t4:s4,t5:s5,t6:s6,t7:s7,t8:s8,t9:s9,t10:s10,t11:s11,t12:s12,t13:s13,t14:s14,t15:s15,t16:s16,t17:s17,t18:s18,t19:s19; +for(t2 = 0; t2 <= N3-1; t2++) { + if (N >= 1) { + for(t4 = 0; t4 <= min(2,M-1); t4++) { + for(t6 = 0; t6 <= N-1; t6++) { + s0(t2,t4,t6); + } + } + for(t4 = 3; t4 <= min(M-1,4); t4++) { + for(t6 = 0; t6 <= min(1,N-1); t6++) { + s0(t2,t4,t6); + } + for(t6 = 2; t6 <= min(3,N-1); t6++) { + s0(t2,t4,t6); + s19(t2,t4-2,t6-1); + } + for(t6 = 4; t6 <= N-1; t6++) { + s0(t2,t4,t6); + s19(t2,t4-2,t6-1); + } + } + for(t4 = 5; t4 <= M-1; t4++) { + for(t6 = 0; t6 <= min(1,N-1); t6++) { + s0(t2,t4,t6); + } + for(t6 = 2; t6 <= min(N-1,3); t6++) { + s0(t2,t4,t6); + s19(t2,t4-2,t6-1); + } + for(t6 = 4; t6 <= N-1; t6++) { + s0(t2,t4,t6); + s19(t2,t4-2,t6-1); + s15(t2,t4-3,t6-2); + } + } + } + if (M >= 3) { + if (M >= 5) { + for(t6 = 2; t6 <= min(N-1,3); t6++) { + s19(t2,M-2,t6-1); + } + for(t6 = 4; t6 <= N-1; t6++) { + s19(t2,M-2,t6-1); + s15(t2,M-3,t6-2); + } + } + else { + for(t6 = 2; t6 <= N-1; t6++) { + s19(t2,M-2,t6-1); + } + } + } + for(t4 = 0; t4 <= N-1; t4++) { + s1(t2,t4); + } + for(t4 = 0; t4 <= M-1; t4++) { + s2(t2,t4); + } + s3(t2); + for(t6 = 0; t6 <= N-1; t6++) { + s4(t2,M-1,t6); + } + for(t6 = 0; t6 <= N-1; t6++) { + s16(t2,0,t6); + } + for(t4 = 1; t4 <= M-2; t4++) { + s17(t2,t4,N-1); + } + for(t4 = 1; t4 <= M-2; t4++) { + s18(t2,t4,0); + } + for(t4 = 0; t4 <= N-1; t4++) { + s5(t2,t4); + } + for(t4 = 0; t4 <= M-1; t4++) { + s6(t2,t4); + } + s7(t2); + if (N >= 1) { + for(t4 = 0; t4 <= 1; t4++) { + for(t6 = 0; t6 <= N-1; t6++) { + s12(t2,t4,t6); + } + } + for(t4 = M-2; t4 <= M-1; t4++) { + for(t6 = 0; t6 <= N-1; t6++) { + s8(t2,t4,t6); + } + } + } + for(t4 = 2; t4 <= M-3; t4++) { + for(t6 = 0; t6 <= 1; t6++) { + s14(t2,t4,t6); + } + } + for(t4 = 2; t4 <= M-3; t4++) { + for(t6 = N-2; t6 <= N-1; t6++) { + s13(t2,t4,t6); + } + } + for(t4 = 0; t4 <= N-1; t4++) { + s9(t2,t4); + } + for(t4 = 0; t4 <= M-1; t4++) { + s10(t2,t4); + } + s11(t2); +} + +>>> #codegen 2 s0,t1:s1,t2:s2,t3:s3,t4:s4,t5:s5,t6:s6,t7:s7,t8:s8,t9:s9,t10:s10,t11:s11,t12:s12,t13:s13,t14:s14,t15:s15,t16:s16,t17:s17,t18:s18,t19:s19; +>>> +>>> |