summaryrefslogtreecommitdiff
path: root/vaporize/tests/LinearSearch.vapor
diff options
context:
space:
mode:
Diffstat (limited to 'vaporize/tests/LinearSearch.vapor')
-rw-r--r--vaporize/tests/LinearSearch.vapor150
1 files changed, 0 insertions, 150 deletions
diff --git a/vaporize/tests/LinearSearch.vapor b/vaporize/tests/LinearSearch.vapor
deleted file mode 100644
index db4884a..0000000
--- a/vaporize/tests/LinearSearch.vapor
+++ /dev/null
@@ -1,150 +0,0 @@
-
-const vmt_LS
- :LS.Start
- :LS.Print
- :LS.Search
- :LS.Init
-
-
-func Main()
- t.0 = HeapAllocZ(12)
- [t.0] = :vmt_LS
- 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 LS.Start(this sz)
- t.0 = [this]
- t.0 = [t.0+12]
- aux01 = call t.0(this sz)
- t.1 = [this]
- t.1 = [t.1+4]
- aux02 = call t.1(this)
- PrintIntS(9999)
- t.2 = [this]
- t.2 = [t.2+8]
- t.3 = call t.2(this 8)
- PrintIntS(t.3)
- t.4 = [this]
- t.4 = [t.4+8]
- t.5 = call t.4(this 12)
- PrintIntS(t.5)
- t.6 = [this]
- t.6 = [t.6+8]
- t.7 = call t.6(this 17)
- PrintIntS(t.7)
- t.8 = [this]
- t.8 = [t.8+8]
- t.9 = call t.8(this 50)
- PrintIntS(t.9)
- ret 55
-
-func LS.Print(this)
- j = 1
- while1_top:
- t.0 = [this+8]
- t.1 = LtS(j t.0)
- if0 t.1 goto :while1_end
- t.2 = [this+4]
- if t.2 goto :null2
- Error("null pointer")
- null2:
- t.3 = [t.2]
- t.3 = Lt(j t.3)
- if t.3 goto :bounds1
- Error("array index out of bounds")
- bounds1:
- 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 :while1_top
- while1_end:
- ret 0
-
-func LS.Search(this num)
- j = 1
- ls01 = 0
- ifound = 0
- while2_top:
- t.0 = [this+8]
- t.1 = LtS(j t.0)
- if0 t.1 goto :while2_end
- t.2 = [this+4]
- if t.2 goto :null3
- Error("null pointer")
- null3:
- t.3 = [t.2]
- t.3 = Lt(j t.3)
- if t.3 goto :bounds2
- Error("array index out of bounds")
- bounds2:
- t.3 = MulS(j 4)
- t.3 = Add(t.3 t.2)
- aux01 = [t.3+4]
- aux02 = Add(num 1)
- t.4 = LtS(aux01 num)
- if0 t.4 goto :if1_else
- nt = 0
- goto :if1_end
- if1_else:
- t.5 = LtS(aux01 aux02)
- t.6 = Sub(1 t.5)
- if0 t.6 goto :if2_else
- nt = 0
- goto :if2_end
- if2_else:
- ls01 = 1
- ifound = 1
- j = [this+8]
- if2_end:
- if1_end:
- j = Add(j 1)
- goto :while2_top
- while2_end:
- ret ifound
-
-func LS.Init(this sz)
- [this+8] = sz
- t.0 = call :AllocArray(sz)
- [this+4] = t.0
- j = 1
- t.1 = [this+8]
- k = Add(t.1 1)
- while3_top:
- t.2 = [this+8]
- t.3 = LtS(j t.2)
- if0 t.3 goto :while3_end
- aux01 = MulS(2 j)
- aux02 = Sub(k 3)
- t.4 = [this+4]
- if t.4 goto :null4
- Error("null pointer")
- null4:
- t.5 = [t.4]
- t.5 = Lt(j t.5)
- if t.5 goto :bounds3
- Error("array index out of bounds")
- bounds3:
- t.5 = MulS(j 4)
- t.5 = Add(t.5 t.4)
- t.6 = Add(aux01 aux02)
- [t.5+4] = t.6
- j = Add(j 1)
- k = Sub(k 1)
- goto :while3_top
- while3_end:
- ret 0
-
-func AllocArray(size)
- bytes = MulS(size 4)
- bytes = Add(bytes 4)
- v = HeapAllocZ(bytes)
- [v] = size
- ret v