diff options
Diffstat (limited to 'boil/tests/QuickSort.vapor')
-rw-r--r-- | boil/tests/QuickSort.vapor | 399 |
1 files changed, 0 insertions, 399 deletions
diff --git a/boil/tests/QuickSort.vapor b/boil/tests/QuickSort.vapor deleted file mode 100644 index 3fe3798..0000000 --- a/boil/tests/QuickSort.vapor +++ /dev/null @@ -1,399 +0,0 @@ - -const vmt_QS - :QS.Start - :QS.Sort - :QS.Print - :QS.Init - - -func Main() - t.0 = HeapAllocZ(12) - [t.0] = :vmt_QS - if t.0 goto :null1 - Error("null pointer") - null1: - t.1 = [t.0] - t.1 = [t.1+0] - t.2 = call t.1(t.0 10) - PrintIntS(t.2) - ret - -func QS.Start(this sz) - t.0 = [this] - t.0 = [t.0+12] - aux01 = call t.0(this sz) - t.1 = [this] - t.1 = [t.1+8] - aux01 = call t.1(this) - PrintIntS(9999) - t.2 = [this+8] - aux01 = Sub(t.2 1) - t.3 = [this] - t.3 = [t.3+4] - aux01 = call t.3(this 0 aux01) - t.4 = [this] - t.4 = [t.4+8] - aux01 = call t.4(this) - ret 0 - -func QS.Sort(this left right) - t = 0 - t.0 = LtS(left right) - if0 t.0 goto :if1_else - t.1 = [this+4] - if t.1 goto :null2 - Error("null pointer") - null2: - t.2 = [t.1] - t.2 = Lt(right t.2) - if t.2 goto :bounds1 - Error("array index out of bounds") - bounds1: - t.2 = MulS(right 4) - t.2 = Add(t.2 t.1) - v = [t.2+4] - i = Sub(left 1) - j = right - cont01 = 1 - while1_top: - if0 cont01 goto :while1_end - cont02 = 1 - while2_top: - if0 cont02 goto :while2_end - i = Add(i 1) - t.3 = [this+4] - if t.3 goto :null3 - Error("null pointer") - null3: - t.4 = [t.3] - t.4 = Lt(i t.4) - if t.4 goto :bounds2 - Error("array index out of bounds") - bounds2: - t.4 = MulS(i 4) - t.4 = Add(t.4 t.3) - aux03 = [t.4+4] - t.5 = LtS(aux03 v) - t.6 = Sub(1 t.5) - if0 t.6 goto :if2_else - cont02 = 0 - goto :if2_end - if2_else: - cont02 = 1 - if2_end: - goto :while2_top - while2_end: - cont02 = 1 - while3_top: - if0 cont02 goto :while3_end - j = Sub(j 1) - t.7 = [this+4] - if t.7 goto :null4 - Error("null pointer") - null4: - t.8 = [t.7] - t.8 = Lt(j t.8) - if t.8 goto :bounds3 - Error("array index out of bounds") - bounds3: - t.8 = MulS(j 4) - t.8 = Add(t.8 t.7) - aux03 = [t.8+4] - t.9 = LtS(v aux03) - t.10 = Sub(1 t.9) - if0 t.10 goto :if3_else - cont02 = 0 - goto :if3_end - if3_else: - cont02 = 1 - if3_end: - goto :while3_top - while3_end: - t.11 = [this+4] - if t.11 goto :null5 - Error("null pointer") - null5: - t.12 = [t.11] - t.12 = Lt(i t.12) - if t.12 goto :bounds4 - Error("array index out of bounds") - bounds4: - t.12 = MulS(i 4) - t.12 = Add(t.12 t.11) - t = [t.12+4] - t.13 = [this+4] - if t.13 goto :null6 - Error("null pointer") - null6: - t.14 = [t.13] - t.14 = Lt(i t.14) - if t.14 goto :bounds5 - Error("array index out of bounds") - bounds5: - t.14 = MulS(i 4) - t.14 = Add(t.14 t.13) - t.15 = [this+4] - if t.15 goto :null7 - Error("null pointer") - null7: - t.16 = [t.15] - t.16 = Lt(j t.16) - if t.16 goto :bounds6 - Error("array index out of bounds") - bounds6: - t.16 = MulS(j 4) - t.16 = Add(t.16 t.15) - t.17 = [t.16+4] - [t.14+4] = t.17 - t.18 = [this+4] - if t.18 goto :null8 - Error("null pointer") - null8: - t.19 = [t.18] - t.19 = Lt(j t.19) - if t.19 goto :bounds7 - Error("array index out of bounds") - bounds7: - t.19 = MulS(j 4) - t.19 = Add(t.19 t.18) - [t.19+4] = t - t.20 = Add(i 1) - t.21 = LtS(j t.20) - if0 t.21 goto :if4_else - cont01 = 0 - goto :if4_end - if4_else: - cont01 = 1 - if4_end: - goto :while1_top - while1_end: - t.22 = [this+4] - if t.22 goto :null9 - Error("null pointer") - null9: - t.23 = [t.22] - t.23 = Lt(j t.23) - if t.23 goto :bounds8 - Error("array index out of bounds") - bounds8: - t.23 = MulS(j 4) - t.23 = Add(t.23 t.22) - t.24 = [this+4] - if t.24 goto :null10 - Error("null pointer") - null10: - t.25 = [t.24] - t.25 = Lt(i t.25) - if t.25 goto :bounds9 - Error("array index out of bounds") - bounds9: - t.25 = MulS(i 4) - t.25 = Add(t.25 t.24) - t.26 = [t.25+4] - [t.23+4] = t.26 - t.27 = [this+4] - if t.27 goto :null11 - Error("null pointer") - null11: - t.28 = [t.27] - t.28 = Lt(i t.28) - if t.28 goto :bounds10 - Error("array index out of bounds") - bounds10: - t.28 = MulS(i 4) - t.28 = Add(t.28 t.27) - t.29 = [this+4] - if t.29 goto :null12 - Error("null pointer") - null12: - t.30 = [t.29] - t.30 = Lt(right t.30) - if t.30 goto :bounds11 - Error("array index out of bounds") - bounds11: - t.30 = MulS(right 4) - t.30 = Add(t.30 t.29) - t.31 = [t.30+4] - [t.28+4] = t.31 - t.32 = [this+4] - if t.32 goto :null13 - Error("null pointer") - null13: - t.33 = [t.32] - t.33 = Lt(right t.33) - if t.33 goto :bounds12 - Error("array index out of bounds") - bounds12: - t.33 = MulS(right 4) - t.33 = Add(t.33 t.32) - [t.33+4] = t - t.34 = [this] - t.34 = [t.34+4] - t.35 = Sub(i 1) - nt = call t.34(this left t.35) - t.36 = [this] - t.36 = [t.36+4] - t.37 = Add(i 1) - nt = call t.36(this t.37 right) - goto :if1_end - if1_else: - nt = 0 - if1_end: - ret 0 - -func QS.Print(this) - j = 0 - while4_top: - t.0 = [this+8] - t.1 = LtS(j t.0) - if0 t.1 goto :while4_end - t.2 = [this+4] - if t.2 goto :null14 - Error("null pointer") - null14: - t.3 = [t.2] - t.3 = Lt(j t.3) - if t.3 goto :bounds13 - Error("array index out of bounds") - bounds13: - t.3 = MulS(j 4) - t.3 = Add(t.3 t.2) - t.4 = [t.3+4] - PrintIntS(t.4) - j = Add(j 1) - goto :while4_top - while4_end: - ret 0 - -func QS.Init(this sz) - [this+8] = sz - t.0 = call :AllocArray(sz) - [this+4] = t.0 - t.1 = [this+4] - if t.1 goto :null15 - Error("null pointer") - null15: - t.2 = [t.1] - t.2 = Lt(0 t.2) - if t.2 goto :bounds14 - Error("array index out of bounds") - bounds14: - t.2 = MulS(0 4) - t.2 = Add(t.2 t.1) - [t.2+4] = 20 - t.3 = [this+4] - if t.3 goto :null16 - Error("null pointer") - null16: - t.4 = [t.3] - t.4 = Lt(1 t.4) - if t.4 goto :bounds15 - Error("array index out of bounds") - bounds15: - t.4 = MulS(1 4) - t.4 = Add(t.4 t.3) - [t.4+4] = 7 - t.5 = [this+4] - if t.5 goto :null17 - Error("null pointer") - null17: - t.6 = [t.5] - t.6 = Lt(2 t.6) - if t.6 goto :bounds16 - Error("array index out of bounds") - bounds16: - t.6 = MulS(2 4) - t.6 = Add(t.6 t.5) - [t.6+4] = 12 - t.7 = [this+4] - if t.7 goto :null18 - Error("null pointer") - null18: - t.8 = [t.7] - t.8 = Lt(3 t.8) - if t.8 goto :bounds17 - Error("array index out of bounds") - bounds17: - t.8 = MulS(3 4) - t.8 = Add(t.8 t.7) - [t.8+4] = 18 - t.9 = [this+4] - if t.9 goto :null19 - Error("null pointer") - null19: - t.10 = [t.9] - t.10 = Lt(4 t.10) - if t.10 goto :bounds18 - Error("array index out of bounds") - bounds18: - t.10 = MulS(4 4) - t.10 = Add(t.10 t.9) - [t.10+4] = 2 - t.11 = [this+4] - if t.11 goto :null20 - Error("null pointer") - null20: - t.12 = [t.11] - t.12 = Lt(5 t.12) - if t.12 goto :bounds19 - Error("array index out of bounds") - bounds19: - t.12 = MulS(5 4) - t.12 = Add(t.12 t.11) - [t.12+4] = 11 - t.13 = [this+4] - if t.13 goto :null21 - Error("null pointer") - null21: - t.14 = [t.13] - t.14 = Lt(6 t.14) - if t.14 goto :bounds20 - Error("array index out of bounds") - bounds20: - t.14 = MulS(6 4) - t.14 = Add(t.14 t.13) - [t.14+4] = 6 - t.15 = [this+4] - if t.15 goto :null22 - Error("null pointer") - null22: - t.16 = [t.15] - t.16 = Lt(7 t.16) - if t.16 goto :bounds21 - Error("array index out of bounds") - bounds21: - t.16 = MulS(7 4) - t.16 = Add(t.16 t.15) - [t.16+4] = 9 - t.17 = [this+4] - if t.17 goto :null23 - Error("null pointer") - null23: - t.18 = [t.17] - t.18 = Lt(8 t.18) - if t.18 goto :bounds22 - Error("array index out of bounds") - bounds22: - t.18 = MulS(8 4) - t.18 = Add(t.18 t.17) - [t.18+4] = 19 - t.19 = [this+4] - if t.19 goto :null24 - Error("null pointer") - null24: - t.20 = [t.19] - t.20 = Lt(9 t.20) - if t.20 goto :bounds23 - Error("array index out of bounds") - bounds23: - t.20 = MulS(9 4) - t.20 = Add(t.20 t.19) - [t.20+4] = 5 - ret 0 - -func AllocArray(size) - bytes = MulS(size 4) - bytes = Add(bytes 4) - v = HeapAllocZ(bytes) - [v] = size - ret v |