summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce4
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_addition.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Addition.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_cross.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Cross.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_erf.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Erf.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_erfc.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Erfc.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_erfcx.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Erfcx.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_erfinv.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Erfinv.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_isequal.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Isreal.sci)2
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_nanmean.sci14
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_nanmin.sci12
-rw-r--r--2.3-1/demos/Brijesh_Demos/test_toeplitz.sci (renamed from 2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci)2
-rw-r--r--2.3-1/includes/sci2clib.h14
-rw-r--r--2.3-1/jar/scilab_en_US_help.jarbin11210 -> 11210 bytes
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci128
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci2
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci2
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci31
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/nanmax.h16
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/nanmean.h42
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/nanmin.h41
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_nanmax.h18
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_nanmean.h32
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_nanmin.h31
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/dnanmax2a.c53
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c35
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcola.c4
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c7
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmax1a.c58
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmax2a.c53
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c35
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcola.c4
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrowa.c7
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/cnanmeana.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/cnanmeancola.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/dnanmeana.c33
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/dnanmeancola.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/snanmeana.c33
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/snanmeancola.c35
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/snanmeanrowa.c35
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/znanmeana.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/znanmeancola.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmean/znanmeanrowa.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanmina.c53
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanmincola.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanminnpa.c51
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanminnps.c25
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanminrowa.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanminrownpa.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nanmin/dnanmins.c32
-rw-r--r--2.3-1/src/c/signalProcessing/includes/dct.h2
-rw-r--r--2.3-1/src/c/signalProcessing/interfaces/int_dct.h4
-rw-r--r--2.3-1/src/c/statisticsFunctions/includes/nanmedian.h4
-rw-r--r--2.3-1/src/c/statisticsFunctions/interfaces/int_nanmedian.h5
-rw-r--r--2.3-1/src/c/statisticsFunctions/nanmedian/znanmediana.c51
-rw-r--r--2.3-1/src/c/statisticsFunctions/nanmedian/znanmediancola.c37
-rw-r--r--2.3-1/src/c/statisticsFunctions/nanmedian/znanmedianrowa.c38
-rw-r--r--2.3-1/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci2
62 files changed, 1554 insertions, 57 deletions
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce b/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce
deleted file mode 100644
index e250078d..00000000
--- a/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce
+++ /dev/null
@@ -1,4 +0,0 @@
-a = 1;
-b = 5;
-c = a+b;
-disp(c);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Addition.sci b/2.3-1/demos/Brijesh_Demos/test_addition.sci
index 856ba63e..f70f0aff 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Addition.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_addition.sci
@@ -1,4 +1,4 @@
-function Test_Addition()
+function test_addition()
a = 1;
b = 2;
d = float(b);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Cross.sci b/2.3-1/demos/Brijesh_Demos/test_cross.sci
index 01206b3c..6c2224d6 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Cross.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_cross.sci
@@ -1,4 +1,4 @@
-function Test_Cross
+function test_cross
disp('Datatype: Double');
i1 = [1 2;3 4;5 6];
i2 = [7 8;9 10;11 12];
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erf.sci b/2.3-1/demos/Brijesh_Demos/test_erf.sci
index 42208f61..5cebb253 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Erf.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_erf.sci
@@ -1,4 +1,4 @@
-function Test_Erf
+function test_erf
disp('Datatype: Double');
i1 = [1 2 .5; 7 .8 .9];
o1 = erf(i1);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erfc.sci b/2.3-1/demos/Brijesh_Demos/test_erfc.sci
index 2ad8cfed..ac50e150 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Erfc.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_erfc.sci
@@ -1,4 +1,4 @@
-function Test_Erfc
+function test_erfc
disp('Datatype: Double');
i1 = [1 2 .5; 7 .8 .9];
o1 = erfc(i1);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erfcx.sci b/2.3-1/demos/Brijesh_Demos/test_erfcx.sci
index e17ae514..a2a553c6 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Erfcx.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_erfcx.sci
@@ -1,4 +1,4 @@
-function Test_Erfcx
+function test_erfcx
disp('Datatype: Double');
i1 = [.75 .8 -.32];
o1 = erfcx(i1);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erfinv.sci b/2.3-1/demos/Brijesh_Demos/test_erfinv.sci
index 99a8683a..483d2903 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Erfinv.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_erfinv.sci
@@ -1,4 +1,4 @@
-function Test_Erfinv
+function test_erfinv
disp('Datatype: Double');
i1 = [12 0.6 -2 -0.75];
o1 = erfinv(i1);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Isreal.sci b/2.3-1/demos/Brijesh_Demos/test_isequal.sci
index 4846d31c..1531275d 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Isreal.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_isequal.sci
@@ -1,4 +1,4 @@
-function Test_Isreal
+function test_isequal
disp('Datatype: Double');
i1 = [1 2 3];
i2 = [1 2 3];
diff --git a/2.3-1/demos/Brijesh_Demos/test_nanmean.sci b/2.3-1/demos/Brijesh_Demos/test_nanmean.sci
new file mode 100644
index 00000000..6009ad8a
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_nanmean.sci
@@ -0,0 +1,14 @@
+function test_nanmean
+ disp('Datatype: Double');
+ i1 = [1 %nan;3 4;5 %nan];
+ o1 = nanmean(i1,'r');
+ disp(o1);
+ disp('Datatype: Float');
+ i2 = float([1 %nan;3 4;5 %nan]);
+ o2 = nanmean(i2,'r');
+ disp(o2);
+ disp('Datatype: Double complex');
+ i3 = [1 %nan %i;3 4+1*%i %nan;5 %nan %i];
+ o3 = nanmean(i3,'c');
+ disp(o3);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/test_nanmin.sci b/2.3-1/demos/Brijesh_Demos/test_nanmin.sci
new file mode 100644
index 00000000..a77f0c90
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/test_nanmin.sci
@@ -0,0 +1,12 @@
+function test_nanmin
+ disp('Datatype: Double');
+ i1 = [ 1 2 %nan; 3 %nan -4; %nan 5 6];
+ //[o1, p1] = nanmin(i1,'c');
+ o1 = nanmin(i1);
+ disp(o1);
+ //disp(p1);
+ //disp('Datatype: Float');
+ //i2 = float([1 %nan;3 4;5 %nan]);
+ //o2 = nanmean(i2,'r');
+ //disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci b/2.3-1/demos/Brijesh_Demos/test_toeplitz.sci
index 6d1269ec..4a52e7ba 100644
--- a/2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci
+++ b/2.3-1/demos/Brijesh_Demos/test_toeplitz.sci
@@ -1,4 +1,4 @@
-function Test_Toeplitz()
+function test_toeplitz()
disp('Datatype: Double');
ai = [1 2 3 4];
bi = [1 6 7 8];
diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h
index a3cb8f50..360c5a66 100644
--- a/2.3-1/includes/sci2clib.h
+++ b/2.3-1/includes/sci2clib.h
@@ -191,6 +191,12 @@ extern "C" {
/*interfacing nanmax*/
#include "nanmax.h"
#include "int_nanmax.h"
+/*interfacing nanmean*/
+#include "nanmean.h"
+#include "int_nanmean.h"
+/*interfacing nanmin*/
+#include "nanmin.h"
+#include "int_nanmin.h"
/*interfacing issquare*/
#include "issquare.h"
#include "int_issquare.h"
@@ -521,12 +527,12 @@ extern "C" {
#include "modk.h"
#include "int_modk.h"
/* interfacing idct */
-//#include "idct.h"
-//#include "int_idct.h"
+#include "idct.h"
+#include "int_idct.h"
/* interfacing dct */
-//#include "dct.h"
-//#include "int_dct.h"
+#include "dct.h"
+#include "int_dct.h"
/* interfacing convol */
#include "conv.h"
diff --git a/2.3-1/jar/scilab_en_US_help.jar b/2.3-1/jar/scilab_en_US_help.jar
index eedd25c7..e524efb9 100644
--- a/2.3-1/jar/scilab_en_US_help.jar
+++ b/2.3-1/jar/scilab_en_US_help.jar
Binary files differ
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index 44e36a29..0a738960 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -1015,9 +1015,9 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
// -------------------
-// --- Class Nanmax. ---
+// --- Class Nanmin. ---
// -------------------
-ClassName = 'Nanmax';
+ClassName = 'Nanmin';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -1033,22 +1033,101 @@ PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''2''',ClassFileName,'file','y');
+
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+
+//---Function list class. ----
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d0d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+//PrintStringInfo('d2g2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'nanmin';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+// -------------------
+// --- Class Nanmax. ---
+// -------------------
+ClassName = 'Nanmax';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''2''',ClassFileName,'file','y');
+
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+
//---Function list class. ----
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d0d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0d2',ClassFileName,'file','y');
PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s0s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0s2',ClassFileName,'file','y');
PrintStringInfo('s2g2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2g2'+ArgSeparator+'s2s2',ClassFileName,'file','y');
+PrintStringInfo('s2g2'+ArgSeparator+'s2s2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
@@ -1057,8 +1136,49 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// -------------------
+// --- Class Nanmean. ---
+// -------------------
+ClassName = 'Nanmean';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)',ClassFileName,'file','y');
+//---Function list class. ----
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d0d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2g2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('z2g2'+ArgSeparator+'z2',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'nanmin';
+FunctionName = 'nanmean';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index a8a2e477..22daaade 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -134,6 +134,8 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/nthroot.h"
"src/c/elementaryFunctions/includes/pmodulo.h"
"src/c/elementaryFunctions/includes/nanmax.h"
+ "src/c/elementaryFunctions/includes/nanmean.h"
+ "src/c/elementaryFunctions/includes/nanmin.h"
"src/c/elementaryFunctions/includes/issquare.h"
"src/c/elementaryFunctions/includes/isscalar.h"
"src/c/elementaryFunctions/includes/isvector.h"
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index 74acfe40..fe181bc9 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -105,6 +105,8 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_nthroot.h"
"src/c/elementaryFunctions/interfaces/int_pmodulo.h"
"src/c/elementaryFunctions/interfaces/int_nanmax.h"
+ "src/c/elementaryFunctions/interfaces/int_nanmean.h"
+ "src/c/elementaryFunctions/interfaces/int_nanmin.h"
"src/c/elementaryFunctions/interfaces/int_issquare.h"
"src/c/elementaryFunctions/interfaces/int_isscalar.h"
"src/c/elementaryFunctions/interfaces/int_isvector.h"
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index 6558f55a..a71031c7 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -812,11 +812,33 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/elementaryFunctions/pmodulo/i16pmoduloa.c"
"src/c/elementaryFunctions/nanmax/dnanmaxa.c"
"src/c/elementaryFunctions/nanmax/dnanmax1a.c"
+ "src/c/elementaryFunctions/nanmax/dnanmax2a.c"
"src/c/elementaryFunctions/nanmax/dnanmaxcola.c"
"src/c/elementaryFunctions/nanmax/dnanmaxrowa.c"
+ "src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c"
+ "src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c"
"src/c/elementaryFunctions/nanmax/snanmaxa.c"
+ "src/c/elementaryFunctions/nanmax/snanmax1a.c"
+ "src/c/elementaryFunctions/nanmax/snanmax2a.c"
"src/c/elementaryFunctions/nanmax/snanmaxcola.c"
"src/c/elementaryFunctions/nanmax/snanmaxrowa.c"
+ "src/c/elementaryFunctions/nanmax/snanmaxcol1a.c"
+ "src/c/elementaryFunctions/nanmax/snanmaxrow1a.c""
+ "src/c/elementaryFunctions/nanmean/dnanmeana.c"
+ "src/c/elementaryFunctions/nanmean/dnanmeanrowa.c"
+ "src/c/elementaryFunctions/nanmean/dnanmeancola.c"
+ "src/c/elementaryFunctions/nanmean/snanmeana.c"
+ "src/c/elementaryFunctions/nanmean/snanmeanrowa.c"
+ "src/c/elementaryFunctions/nanmean/snanmeancola.c"
+ "src/c/elementaryFunctions/nanmean/znanmeana.c"
+ "src/c/elementaryFunctions/nanmean/znanmeanrowa.c"
+ "src/c/elementaryFunctions/nanmean/znanmeancola.c"
+ "src/c/elementaryFunctions/nanmin/dnanmina.c"
+ "src/c/elementaryFunctions/nanmin/dnanmins.c"
+ "src/c/elementaryFunctions/nanmin/dnanminnpa.c"
+ "src/c/elementaryFunctions/nanmin/dnanmincolnpa.c"
+ "src/c/elementaryFunctions/nanmin/dnanminrownpa.c"
+ "src/c/elementaryFunctions/nanmin/dnanminnps.c"
"src/c/elementaryFunctions/isscalar/disscalara.c"
"src/c/elementaryFunctions/isscalar/disscalars.c"
"src/c/elementaryFunctions/isscalar/gisscalars.c"
@@ -961,12 +983,9 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/statisticsFunctions/nanmedian/snanmediana.c"
"src/c/statisticsFunctions/nanmedian/snanmedianrowa.c"
"src/c/statisticsFunctions/nanmedian/snanmediancola.c"
- //"src/c/statisticsFunctions/nanmedian/u16nanmediana.c"
- //"src/c/statisticsFunctions/nanmedian/u16nanmedianrowa.c"
- //"src/c/statisticsFunctions/nanmedian/u16nanmediancola.c"
- //"src/c/statisticsFunctions/nanmedian/znanmediana.c"
- //"src/c/statisticsFunctions/nanmedian/znanmediancola.c"
- //"src/c/statisticsFunctions/nanmedian/znanmedianrowa.c"
+ "src/c/statisticsFunctions/nanmedian/znanmediana.c"
+ "src/c/statisticsFunctions/nanmedian/znanmediancola.c"
+ "src/c/statisticsFunctions/nanmedian/znanmedianrowa.c"
"src/c/statisticsFunctions/mad/dmada.c"
"src/c/statisticsFunctions/mad/dmadrowa.c"
"src/c/statisticsFunctions/mad/dmadcola.c"
diff --git a/2.3-1/src/c/elementaryFunctions/includes/nanmax.h b/2.3-1/src/c/elementaryFunctions/includes/nanmax.h
index bea83f78..83cfa0e9 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/nanmax.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/nanmax.h
@@ -24,12 +24,20 @@ extern "C" {
#endif
double dnanmaxa (double* , int);
-void dnanmaxrowa (double*, int , int, double*);
-void dnanmaxcola (double*, int , int, double*);
+double dnanmax1a (double* , int, int , double*);
+double dnanmax2a (double* , int, double*);
+void dnanmaxrowa (double*, int , int, double*, double*);
+void dnanmaxcola (double*, int , int, double*, double*);
+void dnanmaxrow1a (double*, int , int, double*);
+void dnanmaxcol1a (double*, int , int, double*);
float snanmaxa (float* , int);
-void snanmaxrowa (float*, int , int, float*);
-void snanmaxcola (float*, int , int, float*);
+float snanmax1a (float* , int, int , float*);
+float snanmax2a (float* , int, float*);
+void snanmaxrowa (float*, int , int, float*, float*);
+void snanmaxcola (float*, int , int, float*, float*);
+void snanmaxrow1a (float*, int , int, float*);
+void snanmaxcol1a (float*, int , int, float*);
diff --git a/2.3-1/src/c/elementaryFunctions/includes/nanmean.h b/2.3-1/src/c/elementaryFunctions/includes/nanmean.h
new file mode 100644
index 00000000..097fec4e
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/nanmean.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NANMEAN_H__
+#define __NANMEAN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmeana(double* in, int size);
+void dnanmeancola(double *in, int row, int col, double* out);
+void dnanmeanrowa(double *in, int row, int col, double* out);
+
+float snanmeana(float* in, int size);
+void snanmeancola(float *in, int row, int col, float* out);
+void snanmeanrowa(float *in, int row, int col, float* out);
+
+doubleComplex znanmeana(doubleComplex* in, int size);
+void znanmeancola(doubleComplex *in, int row, int col, doubleComplex* out);
+void znanmeanrowa(doubleComplex *in, int row, int col, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANMEAN_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/includes/nanmin.h b/2.3-1/src/c/elementaryFunctions/includes/nanmin.h
new file mode 100644
index 00000000..adeff6b5
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/nanmin.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NANMIN_H__
+#define __NANMIN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmina(double* in, int row, int col, double* pos);
+double dnanminnpa(double* in, int row, int col);
+double dnanmins(double in, double* pos);
+double dnanminnps(double in);
+
+void dnanminrownpa(double *in, int row, int col, double* out);
+void dnanmincolnpa(double *in, int row, int col, double* out);
+
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANMIN_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmax.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmax.h
index 45dd55e5..6096290f 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmax.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmax.h
@@ -14,15 +14,13 @@
#define __INT_NANMAX_H__
#define d2nanmaxd0(in1, size) dnanmaxa(in1,size[0]* size[1])
-//#define d2nanmaxd0d2(in1, size, out) dnanmaxa(in1,size[0], size[1], out)
-#define d2g2nanmaxd2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanmaxrowa(in1, size1[0], size1[1], out) : dnanmaxcola(in1, size1[0] , size1[1], out)
-
-#define s2nanmaxs0(in1, size) snanmaxa(in1,size[0]* size[1])
-#define s2g2nanmaxs2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmaxrowa(in1, size1[0], size1[1], out) : snanmaxcola(in1, size1[0] , size1[1], out)
-
-
-//#define i160i160pmoduloi160(in1, in2) i16pmodulos(in1,in2)
-//#define i162i162pmoduloi162(in1, size1, in2, size2, out) i16pmoduloa(in1,size1[0]*size1[1],in2, out)
-
+#define d2nanmaxd0d2(in1, size, out) dnanmax1a(in1,size[0], size[1], out)
+#define d2g2nanmaxd2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanmaxrow1a(in1, size1[0], size1[1], out) : dnanmaxcol1a(in1, size1[0] , size1[1], out)
+#define d2g2nanmaxd2d2(in1, size1, in2, size2, out1, out2) (in2[0]=='r') ? dnanmaxrowa(in1, size1[0], size1[1], out1, out2) : dnanmaxcola(in1, size1[0] , size1[1], out1, out2)
+
+#define s2nanmaxs0(in1, size) snanmaxa(in1,size[0]* size[1])
+#define s2nanmaxs0s2(in1, size, out) snanmax1a(in1,size[0], size[1], out)
+#define s2g2nanmaxs2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmaxrow1a(in1, size1[0], size1[1], out) : snanmaxcol1a(in1, size1[0] , size1[1], out)
+#define s2g2nanmaxs2s2(in1, size1, in2, size2, out1, out2) (in2[0]=='r') ? snanmaxrowa(in1, size1[0], size1[1], out1, out2) : snanmaxcola(in1, size1[0] , size1[1], out1, out2)
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmean.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmean.h
new file mode 100644
index 00000000..0195b0d3
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmean.h
@@ -0,0 +1,32 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANMEAN_H__
+#define __INT_NANMEAN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define d2nanmeand0(in1, size) dnanmeana(in1,size[0]* size[1])
+#define d2g2nanmeand2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanmeanrowa(in1, size1[0], size1[1], out) : dnanmeancola(in1, size1[0] , size1[1], out)
+
+#define s2nanmeans0(in1, size) snanmeana(in1,size[0]* size[1])
+#define s2g2nanmeans2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmeanrowa(in1, size1[0], size1[1], out) : snanmeancola(in1, size1[0] , size1[1], out)
+
+#define z2nanmeanz0(in1, size) znanmeana(in1,size[0]* size[1])
+#define z2g2nanmeanz2(in1, size1, in2, size2, out) (in2[0]=='r') ? znanmeanrowa(in1, size1[0], size1[1], out) : znanmeancola(in1, size1[0] , size1[1], out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NANMEAN_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmin.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmin.h
new file mode 100644
index 00000000..408dac65
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_nanmin.h
@@ -0,0 +1,31 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANMIN_H__
+#define __INT_NANMIN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define d2nanmind0d2(in1, size, pos) dnanmina(in1,size[0], size[1], pos)
+#define d2nanmind0(in1, size) dnanminnpa(in1,size[0], size[1])
+#define d0nanmind0d2(in1, pos) dnanmins(in1, pos)
+#define d0nanmind0(in1) dnanminnps(in1)
+
+#define d2g2nanmind2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanminrownpa(in1, size1[0], size1[1], out) : dnanmincolnpa(in1, size1[0] , size1[1], out)
+//#define d2g2nanmind2d2(in1, size1, in2, size2, p, out) (in2[0]=='r') ? dnanminrowa(in1, size1[0], size1[1], p, out) : dnanmincola(in1, size1[0] , size1[1], p, out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NANMIN_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmax2a.c b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmax2a.c
new file mode 100644
index 00000000..82ddda6b
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmax2a.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+double dnanmax2a(double* in, int size, double* out)
+{
+double high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ *out= i+1;
+
+ }
+
+
+ }
+
+
+ }
+
+
+return high;
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c
new file mode 100644
index 00000000..1198dcea
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxcol1a(double *in, int row, int col, double* out1)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= dnanmaxa( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcola.c b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcola.c
index 9db07423..388337e7 100644
--- a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcola.c
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxcola.c
@@ -15,7 +15,7 @@
#include "types.h"
#include "uint16.h"
-void dnanmaxcola(double *in, int row, int col, double* out)
+void dnanmaxcola(double *in, int row, int col, double* out1, double* out2)
{
double inter[col];
@@ -27,7 +27,7 @@ for(int i=0; i< row; i++)
inter[j]= in[i+ (j*row)];
}
- out[i]= dnanmaxa( inter, col);
+ out1[i]= dnanmax2a( inter, col, &out2[i]);
}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c
new file mode 100644
index 00000000..c4a7a4d1
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxrow1a(double *in, int row, int col, double* out1)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= dnanmaxa( inter, row);
+
+ }
+
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c
index 191fa012..47d4d386 100644
--- a/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c
@@ -15,9 +15,9 @@
#include "types.h"
#include "uint16.h"
-void dnanmaxrowa(double *in, int row, int col, double* out)
+void dnanmaxrowa(double *in, int row, int col, double* out1, double* out2)
{
- double inter[row];
+ double inter[row];
@@ -28,9 +28,10 @@ for(int i=0; i< col; i++)
inter[j]= in[j+ (i*row)];
}
- out[i]= dnanmaxa( inter, row);
+ out1[i]= dnanmax2a( inter, row, &out2[i]);
}
+
}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmax1a.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmax1a.c
new file mode 100644
index 00000000..7420c3a3
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmax1a.c
@@ -0,0 +1,58 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+float snanmax1a(float* in, int row, int col, float* out)
+{
+float high;
+int ival=0;
+for(int i=0; i<row*col; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< row*col; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ ival=i;
+
+ }
+
+
+ }
+
+
+ }
+
+out[0]= ival%row +1;
+out[1]= ival/row +1;
+
+
+
+return high;
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmax2a.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmax2a.c
new file mode 100644
index 00000000..59c282d8
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmax2a.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+float snanmax2a(float* in, int size, float* out)
+{
+float high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ *out= i+1;
+
+ }
+
+
+ }
+
+
+ }
+
+
+return high;
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c
new file mode 100644
index 00000000..a737033b
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxcol1a(float *in, int row, int col, float* out1)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= snanmaxa( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcola.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcola.c
index b4080525..2703319a 100644
--- a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcola.c
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxcola.c
@@ -15,7 +15,7 @@
#include "types.h"
#include "uint16.h"
-void snanmaxcola(float *in, int row, int col, float* out)
+void snanmaxcola(float *in, int row, int col, float* out1, float* out2)
{
float inter[col];
@@ -27,7 +27,7 @@ for(int i=0; i< row; i++)
inter[j]= in[i+ (j*row)];
}
- out[i]= snanmaxa( inter, col);
+ out1[i]= snanmax2a( inter, col, &out2[i]);
}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c
new file mode 100644
index 00000000..09d062c7
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxrow1a(float *in, int row, int col, float* out1)
+{
+ float inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= snanmaxa( inter, row);
+
+ }
+
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrowa.c b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrowa.c
index ab1ce0cb..c438ae0f 100644
--- a/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrowa.c
+++ b/2.3-1/src/c/elementaryFunctions/nanmax/snanmaxrowa.c
@@ -15,9 +15,9 @@
#include "types.h"
#include "uint16.h"
-void snanmaxrowa(float *in, int row, int col, float* out)
+void snanmaxrowa(float *in, int row, int col, float* out1, float* out2)
{
- float inter[row];
+ float inter[row];
@@ -28,9 +28,10 @@ for(int i=0; i< col; i++)
inter[j]= in[j+ (i*row)];
}
- out[i]= snanmaxa( inter, row);
+ out1[i]= snanmax2a( inter, row, &out2[i]);
}
+
}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeana.c b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeana.c
new file mode 100644
index 00000000..eaca1e79
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeana.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+
+floatComplex cnanmeana(floatComplex* in, int size)
+{
+ floatComplex sum = 0;
+ double count = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeancola.c b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeancola.c
new file mode 100644
index 00000000..7f643a65
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeancola.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void cnanmeancola(floatComplex *in, int row, int col, floatComplex* out)
+{
+ floatComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= cnanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c
new file mode 100644
index 00000000..05aa7e93
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void cnanmeanrowa(floatComplex *in, int row, int col, floatComplex* out)
+{
+ floatComplex inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= cnanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeana.c b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeana.c
new file mode 100644
index 00000000..40f9ac6f
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeana.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+double dnanmeana(double* in, int size)
+{
+ double count = 0, sum = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeancola.c b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeancola.c
new file mode 100644
index 00000000..81ed5338
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeancola.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void dnanmeancola(double *in, int row, int col, double* out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnanmeana( inter, col);
+
+ }
+
+
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c
new file mode 100644
index 00000000..1ac02f5f
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void dnanmeanrowa(double *in, int row, int col, double* out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/snanmeana.c b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeana.c
new file mode 100644
index 00000000..aecf6984
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeana.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+float snanmeana(float* in, int size)
+{
+ float count = 0, sum = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/snanmeancola.c b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeancola.c
new file mode 100644
index 00000000..68df77b8
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeancola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void snanmeancola(float *in, int row, int col, float* out)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= snanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/snanmeanrowa.c b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeanrowa.c
new file mode 100644
index 00000000..1664aa4e
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/snanmeanrowa.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void snanmeanrowa(float *in, int row, int col, float* out)
+{
+ float inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= snanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/znanmeana.c b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeana.c
new file mode 100644
index 00000000..366657a5
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeana.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+
+doubleComplex znanmeana(doubleComplex* in, int size)
+{
+ doubleComplex sum = 0;
+ double count = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/znanmeancola.c b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeancola.c
new file mode 100644
index 00000000..28743e3f
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeancola.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void znanmeancola(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= znanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmean/znanmeanrowa.c b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeanrowa.c
new file mode 100644
index 00000000..8d80c779
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmean/znanmeanrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void znanmeanrowa(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= znanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanmina.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmina.c
new file mode 100644
index 00000000..f2bce003
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmina.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanmina(double* in, int row, int col, double* pos)
+{
+ double low = 0;
+ int ival = 0, nanflag = 1;
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ low = in[i];
+ nanflag = 0;
+ break;
+ }
+ }
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ if(in[i]<low)
+ {
+ low = in[i];
+ ival = i;
+ }
+ }
+ }
+
+ pos[0] = ival % row + 1;
+ pos[1] = ival / row + 1;
+
+ if (nanflag == 1)
+ return 0.0/0.0;
+
+ return low;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincola.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincola.c
new file mode 100644
index 00000000..0c4d202f
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincola.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanmincola(double *in, int row, int col, double *p, double *out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnanmina( inter, 1, col, p);
+
+ }
+
+
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c
new file mode 100644
index 00000000..3d1623c2
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanmincolnpa(double *in, int row, int col, double* out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnanminnpa( inter, 1, col);
+
+ }
+
+
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnpa.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnpa.c
new file mode 100644
index 00000000..6456ebe9
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnpa.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanminnpa(double* in, int row, int col)
+{
+ double low = 0;
+ int nanflag = 1;
+
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ low = in[i];
+ nanflag = 0;
+ break;
+ }
+ }
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ if(in[i]<low)
+ {
+ low = in[i];
+
+ }
+ }
+ }
+
+ if (nanflag == 1)
+ return 0.0/0.0;
+
+ return low;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnps.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnps.c
new file mode 100644
index 00000000..9a33d2fe
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminnps.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanminnps(double in)
+{
+ if(isnan(in))
+ return 0;
+
+ return in;
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrowa.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrowa.c
new file mode 100644
index 00000000..d255ef14
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrowa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanminrowa(double *in, int row, int col, double *p, double *out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanmina( inter, row, 1, p);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrownpa.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrownpa.c
new file mode 100644
index 00000000..fc46a0a4
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanminrownpa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanminrownpa(double *in, int row, int col, double* out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanminnpa( inter, row, 1);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nanmin/dnanmins.c b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmins.c
new file mode 100644
index 00000000..86764a2a
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nanmin/dnanmins.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanmins(double in, double* pos)
+{
+ pos[0] = 1;
+ pos[1] = 1;
+
+ if(isnan(in))
+ {
+ pos[0] = 0;
+ pos[1] = 0;
+ return 0;
+ }
+
+ return in;
+}
+
diff --git a/2.3-1/src/c/signalProcessing/includes/dct.h b/2.3-1/src/c/signalProcessing/includes/dct.h
index db95274b..80668ffa 100644
--- a/2.3-1/src/c/signalProcessing/includes/dct.h
+++ b/2.3-1/src/c/signalProcessing/includes/dct.h
@@ -29,7 +29,7 @@ void sdcta(float *in,int row,int col,int sign,float *out);
void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out);
-//void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out);
+void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/2.3-1/src/c/signalProcessing/interfaces/int_dct.h b/2.3-1/src/c/signalProcessing/interfaces/int_dct.h
index b5cbc282..ba8f42fd 100644
--- a/2.3-1/src/c/signalProcessing/interfaces/int_dct.h
+++ b/2.3-1/src/c/signalProcessing/interfaces/int_dct.h
@@ -29,8 +29,8 @@
#define z2d0dctz2(in,size,sign,out) zdcta(in,size[0],size[1],sign,out)
-//#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out)
+#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out)
-//#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out)
+#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out)
#endif
diff --git a/2.3-1/src/c/statisticsFunctions/includes/nanmedian.h b/2.3-1/src/c/statisticsFunctions/includes/nanmedian.h
index 85bbcf56..767dbc90 100644
--- a/2.3-1/src/c/statisticsFunctions/includes/nanmedian.h
+++ b/2.3-1/src/c/statisticsFunctions/includes/nanmedian.h
@@ -31,6 +31,10 @@ float snanmediana (float* , int);
void snanmedianrowa (float*, int , int, float*);
void snanmediancola (float*, int , int, float*);
+doubleComplex znanmediana (doubleComplex* , int);
+void znanmedianrowa (doubleComplex*, int , int, doubleComplex*);
+void znanmediancola (doubleComplex*, int , int, doubleComplex*);
+
#ifdef __cplusplus
diff --git a/2.3-1/src/c/statisticsFunctions/interfaces/int_nanmedian.h b/2.3-1/src/c/statisticsFunctions/interfaces/int_nanmedian.h
index 26b74878..6fd08b46 100644
--- a/2.3-1/src/c/statisticsFunctions/interfaces/int_nanmedian.h
+++ b/2.3-1/src/c/statisticsFunctions/interfaces/int_nanmedian.h
@@ -19,9 +19,8 @@
#define s2nanmedians0(in1, size) snanmediana(in1,size[0]* size[1])
#define s2g2nanmedians2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmedianrowa(in1, size1[0], size1[1], out) : snanmediancola(in1, size1[0] , size1[1], out)
-
-//#define i160i160pmoduloi160(in1, in2) i16pmodulos(in1,in2)
-//#define i162i162pmoduloi162(in1, size1, in2, size2, out) i16pmoduloa(in1,size1[0]*size1[1],in2, out)
+#define z2nanmedianz0(in1, size) znanmediana(in1,size[0]* size[1])
+#define z2g2nanmedianz2(in1, size1, in2, size2, out) (in2[0]=='r') ? znanmedianrowa(in1, size1[0], size1[1], out) : znanmediancola(in1, size1[0] , size1[1], out)
#endif
diff --git a/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediana.c b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediana.c
new file mode 100644
index 00000000..bfc1fe46
--- /dev/null
+++ b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediana.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmedian.h"
+#include "median.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+doubleComplex znanmediana(doubleComplex* in, int size)
+{
+
+doubleComplex temp[size];
+doubleComplex out;
+int j=0;
+
+float a= 0.0/0.0;
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(zreals(in[i])) && !(zimags(in[i])) )
+ {
+ temp[j]= in[i];
+ j=j+1;
+
+
+ }
+
+
+ }
+
+
+out= zmediana(temp, j);
+
+if(j=0)
+return a;
+else
+return out;
+
+}
diff --git a/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediancola.c b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediancola.c
new file mode 100644
index 00000000..0aaeba02
--- /dev/null
+++ b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmediancola.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmedian.h"
+#include "mean.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+
+void znanmediancola(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= znanmediana( inter, col);
+
+ }
+
+
+}
diff --git a/2.3-1/src/c/statisticsFunctions/nanmedian/znanmedianrowa.c b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmedianrowa.c
new file mode 100644
index 00000000..d0e470fa
--- /dev/null
+++ b/2.3-1/src/c/statisticsFunctions/nanmedian/znanmedianrowa.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmedian.h"
+#include "mean.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+
+void znanmedianrowa(doubleComplex* in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= znanmediana( inter, row);
+
+ }
+
+
+}
diff --git a/2.3-1/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci b/2.3-1/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci
index 63db1f49..8e9fe30e 100644
--- a/2.3-1/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci
+++ b/2.3-1/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci
@@ -1,5 +1,5 @@
function testsqroot()
- a = [1,2,3;4,5,6;7,8,9];
+ a = [1,1,-1;1,2,0;-1,0,5];
e = sqroot(a);
disp(e)
endfunction