From b43eccd4cffed5bd1017c5821524fb6e49202f78 Mon Sep 17 00:00:00 2001 From: Sandeep Gupta Date: Sun, 18 Jun 2017 23:55:40 +0530 Subject: First commit --- .../scilabcode/IterativePower.sci | 17 +++++++ .../scilabcode/RecursivePower.sci | 23 +++++++++ .../scilabcode/mainfunction.sci | 57 ++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/IterativePower.sci create mode 100644 2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/RecursivePower.sci create mode 100644 2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode/mainfunction.sci (limited to '2.3-1/tests/unit_tests/test100_recursivefunctions/scilabcode') 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 + -- cgit