aboutsummaryrefslogtreecommitdiff
path: root/sample/recursive_functions/pow.in
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2024-03-05 18:19:27 +0900
committerShinya Sato <shinnya.sato@gmail.com>2024-03-05 18:19:27 +0900
commit49960d8950d001a372a0abde670a66ee60026957 (patch)
treeadad1d5fe428bf0bea151f71ed114223fc246bca /sample/recursive_functions/pow.in
parent0cf73da9ad035089c66d21021a656e4606796c47 (diff)
downloadinpla-49960d8950d001a372a0abde670a66ee60026957.tar.gz
inpla-49960d8950d001a372a0abde670a66ee60026957.zip
v0.12.0
Diffstat (limited to 'sample/recursive_functions/pow.in')
-rw-r--r--sample/recursive_functions/pow.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/sample/recursive_functions/pow.in b/sample/recursive_functions/pow.in
new file mode 100644
index 0000000..a123b9f
--- /dev/null
+++ b/sample/recursive_functions/pow.in
@@ -0,0 +1,16 @@
+pow2(r, int m) >< (int n)
+| n == 0 => r~m
+| _ => pow2(r, m*2)~(n-1);
+
+pow(r) >< (int n)
+| n == 0 => r~1
+| _ => pow2(r, 1)~(n);
+
+
+// Caclulate 2^10
+const NUM=10;
+pow(r)~NUM; // it can also be written with abbreviation: r << pow(NUM)
+r;
+
+
+