summaryrefslogtreecommitdiff
path: root/vaporize/tests/Factorial.opt.vapor
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-15 22:30:43 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-15 22:30:43 -0600
commit3415badef847db518daa9b46c6274ac3fb89f56d (patch)
treeb32c7d9408416dab208d7670fd51da47710efad8 /vaporize/tests/Factorial.opt.vapor
parent4d8e11688a54ef6b2cf0ba85f7879b5d8dbeec48 (diff)
HW3 Test runner script
Diffstat (limited to 'vaporize/tests/Factorial.opt.vapor')
-rw-r--r--vaporize/tests/Factorial.opt.vapor20
1 files changed, 20 insertions, 0 deletions
diff --git a/vaporize/tests/Factorial.opt.vapor b/vaporize/tests/Factorial.opt.vapor
new file mode 100644
index 0000000..aca17fe
--- /dev/null
+++ b/vaporize/tests/Factorial.opt.vapor
@@ -0,0 +1,20 @@
+
+const empty_Fac
+
+
+func Main()
+ t.0 = call :Fac.ComputeFac(:empty_Fac 10)
+ PrintIntS(t.0)
+ ret
+
+func Fac.ComputeFac(this num)
+ t.0 = LtS(num 1)
+ if0 t.0 goto :if1_else
+ num_aux = 1
+ goto :if1_end
+ if1_else:
+ t.1 = Sub(num 1)
+ t.2 = call :Fac.ComputeFac(this t.1)
+ num_aux = MulS(num t.2)
+ if1_end:
+ ret num_aux