diff options
author | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
---|---|---|
committer | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
commit | db464f35f5a10b58d9ed1085e0b462689adee583 (patch) | |
tree | de5cdbc71a54765d9fec33414630ae2c8904c9b8 /tests/unit_tests/test100_recursivefunctions | |
download | Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.tar.gz Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.tar.bz2 Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.zip |
Original Version
Diffstat (limited to 'tests/unit_tests/test100_recursivefunctions')
4 files changed, 102 insertions, 0 deletions
diff --git a/tests/unit_tests/test100_recursivefunctions/launchConversion.sci b/tests/unit_tests/test100_recursivefunctions/launchConversion.sci new file mode 100644 index 0000000..41be0f0 --- /dev/null +++ b/tests/unit_tests/test100_recursivefunctions/launchConversion.sci @@ -0,0 +1,5 @@ +lines(0)
+clear all
+tmpPWD = pwd;
+
+scilab2c(pwd()+"/scilabcode/mainfunction.sci", pwd(), pwd()+"/scilabcode/");
diff --git a/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci b/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci new file mode 100644 index 0000000..d3ee346 --- /dev/null +++ b/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/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci b/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci new file mode 100644 index 0000000..87430bb --- /dev/null +++ b/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/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci b/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci new file mode 100644 index 0000000..d1dd1db --- /dev/null +++ b/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
+
|