summaryrefslogtreecommitdiff
path: root/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci')
-rw-r--r--2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci23
1 files changed, 23 insertions, 0 deletions
diff --git a/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci
new file mode 100644
index 00000000..87430bba
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci
@@ -0,0 +1,23 @@
+//SCI2C: NIN= 2
+//SCI2C: NOUT= 1
+//SCI2C: OUT(1).TP= IN(1).TP
+//SCI2C: OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)
+//SCI2C: OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)
+//SCI2C: DEFAULT_PRECISION= FLOAT
+
+function outrec = RecursivePower(in,pwrfct)
+
+
+if (pwrfct == 0)
+ outrec = ones(in);
+end
+
+if (pwrfct == 1)
+ outrec = in;
+end
+
+if (pwrfct > 1)
+ outrec = in .* RecursivePower(in,pwrfct-1);
+end
+
+endfunction