diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-26 23:33:15 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-26 23:33:15 -0600 |
commit | ff12bb1dd11c509fc7ac7529085df2d2407b0ece (patch) | |
tree | 81becf519d2027b7729fee73cde49137f22ebbef /output/Factorial.vapor | |
parent | 5db69446e6e898129c28bea19fbb8bb111c5101c (diff) |
Add my test library
Diffstat (limited to 'output/Factorial.vapor')
-rw-r--r-- | output/Factorial.vapor | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/output/Factorial.vapor b/output/Factorial.vapor new file mode 100644 index 0000000..713ef06 --- /dev/null +++ b/output/Factorial.vapor @@ -0,0 +1,47 @@ +func Main() + t.3 = HeapAllocZ(4) + [t.3+0] = :functable_Fac + t.4 = t.3 + t.5 = [t.4+0] + t.6 = [t.5+0] + t.7 = 10 + t.2 = call t.6(t.4 t.7) + t.8 = t.2 + PrintIntS(t.8) + ret + +const functable_Fac + :Fac_ComputeFac + +func Fac_ComputeFac(this t.0 ) + t.2 = t.0 + t.3 = 1 + t.1 = LtS(t.2 t.3) + t.4 = t.1 + if0 t.4 goto :if6_else +if6_body: + t.5 = 1 + goto :if6_end +if6_else: + t.7 = t.0 + t.9 = [this] + t.11 = t.0 + t.12 = 1 + t.10 = Sub(t.11 t.12) + t.13 = t.10 + t.9 = [t.9+0] + t.8 = call t.9(this t.13) + t.14 = t.8 + t.6 = MulS(t.7 t.14) + t.5 = t.6 +if6_end: + t.15 = t.5 + ret t.15 + +func AllocArray(size) + bytes = MulS(size 4) + bytes = Add(bytes 4) + v = HeapAllocZ(bytes) + [v] = size + ret v + |