diff options
Diffstat (limited to 'src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci')
-rw-r--r-- | src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci | 98 |
1 files changed, 68 insertions, 30 deletions
diff --git a/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci b/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci index 7324ee69..12190d38 100644 --- a/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci +++ b/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_SZ_OPSTAR.sci @@ -1,30 +1,68 @@ -function opoutsize = FA_SZ_OPSTAR(in1size,in2size) -// function opoutsize = FA_SZ_OPSTAR(in1size,in2size) -// ----------------------------------------------------------------- -// -// Status: -// 08-Dec-2007 -- Raffaele Nutricato: Author. -// 08-Dec-2007 -- Alberto Morea: Test Ok. -// -// Copyright 2007 Raffaele Nutricato & Alberto Morea. -// Contact: raffaele.nutricato@tiscali.it -// ----------------------------------------------------------------- - -SCI2CNInArgCheck(argn(2),2,2); - -in1size = string(in1size); -in2size = string(in2size); - -in1dim = GetSymbolDimension(in1size); -in2dim = GetSymbolDimension(in2size); - -if (in1dim == 0) - opoutsize = in2size; -elseif (in2dim == 0) - opoutsize = in1size; -else - opoutsize(1) = in1size(1); - opoutsize(2) = in2size(2); -end - -endfunction +function opoutsize = FA_SZ_OPSTAR(in1size,in2size)
+// function opoutsize = FA_SZ_OPSTAR(in1size,in2size)
+// -----------------------------------------------------------------
+// Returns the size of the output computed by OPSTAR operator.
+//
+// Assuming:
+// size(in1) = [in1r,in1c]
+// size(in2) = [in2r,in2c]
+// size(out) = [outr,outc]
+//
+// we have the following combinations:
+// in1 in2 outr outc
+// -----------------------
+// S S in2r in2c
+// S M in2r in2c
+// M S in1r in1c
+// M M in1r in2c
+//
+// Where S means that the input is a scalar
+// and M means that the input is a matrix.
+//
+// Input data:
+// in1size: size of input number 1. It is an array of 2 strings.
+// The first string specifies the number of rows.
+// The second string specifies the number of columns.
+//
+// in2size: size of input number 2. It is an array of 2 strings.
+// The first string specifies the number of rows.
+// The second string specifies the number of columns.
+//
+// Output data:
+// opoutsize: size of output. It is an array of 2 strings.
+// The first string specifies the number of rows.
+// The second string specifies the number of columns.
+//
+// Status:
+// 08-Dec-2007 -- Raffaele Nutricato: Author.
+// 08-Dec-2007 -- Alberto Morea: Test Ok.
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),2,2);
+
+in1size = string(in1size);
+in2size = string(in2size);
+
+// ------------------------
+// --- Generate Output. ---
+// ------------------------
+// --- Get dimensions of input arguments. ---
+in1dim = GetSymbolDimension(in1size);
+in2dim = GetSymbolDimension(in2size);
+
+if (in1dim == 0)
+ opoutsize = in2size;
+elseif (in2dim == 0)
+ opoutsize = in1size;
+else
+ opoutsize(1) = in1size(1);
+ opoutsize(2) = in2size(2);
+end
+
+endfunction
|