summaryrefslogtreecommitdiff
path: root/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode
diff options
context:
space:
mode:
authorSiddhesh Wani2015-05-25 14:46:31 +0530
committerSiddhesh Wani2015-05-25 14:46:31 +0530
commit6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26 (patch)
tree1b7bd89fdcfd01715713d8a15db471dc75a96bbf /2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode
downloadScilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.tar.gz
Scilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.tar.bz2
Scilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.zip
Original Version
Diffstat (limited to '2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode')
-rw-r--r--2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci17
-rw-r--r--2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci23
-rw-r--r--2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci57
3 files changed, 97 insertions, 0 deletions
diff --git a/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci
new file mode 100644
index 00000000..d3ee3469
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci
@@ -0,0 +1,17 @@
+//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 outiter = IterativePower(in,pwrfct)
+
+outiter = ones(in);
+
+for cnt = 1:pwrfct
+ mytmp = outiter .* in;
+ outiter = mytmp;
+end
+
+endfunction
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
diff --git a/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci
new file mode 100644
index 00000000..d1dd1dbd
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci
@@ -0,0 +1,57 @@
+//SCI2C: DEFAULT_PRECISION= FLOAT
+function mainfunction()
+
+// ---------------------------------------
+// --- Initialization of the operands. ---
+// ---------------------------------------
+powerfactor = 3;
+disp('Power Factor: ');
+disp(powerfactor)
+
+s1 = 2;
+disp('Input Scalar Value');
+disp(s1)
+
+V1 = 1:3;
+V2 = 1:2;
+V1tr = V1';
+
+M1 = V1tr * V2;
+disp('Input Matrix Value');
+disp(M1)
+
+// -----------------------
+// --- Compute powers. ---
+// -----------------------
+// --- Iterative/Scalar. ---
+outs1It = IterativePower(s1,powerfactor);
+disp('Output Scalar Value Iterative');
+disp(outs1It);
+
+// --- Iterative/Matrix. ---
+outM1It = IterativePower(M1,powerfactor);
+disp('Output Matrix Iterative');
+disp(outM1It);
+
+// --- Recursive/Scalar. ---
+outs1Re = RecursivePower(s1,powerfactor);
+disp('Output Scalar Value Recursive');
+disp(outs1Re);
+
+// --- Recursive/Matrix. ---
+outM1Re = RecursivePower(M1,powerfactor);
+disp('Output Matrix Recursive');
+disp(outM1Re);
+
+//~ // --- Solution/Scalar. ---
+//~ outs1So = s1.^powerfactor;
+//~ disp('Output Scalar Value Solution');
+//~ disp(outs1So);
+
+//~ // --- Solution/Matrix. ---
+//~ outM1So = M1.^powerfactor;
+//~ disp('Output Matrix Value Solution');
+//~ disp(outM1So);
+
+endfunction
+