diff options
author | Brijeshcr | 2017-07-27 18:29:25 +0530 |
---|---|---|
committer | Brijeshcr | 2017-07-27 18:29:25 +0530 |
commit | 4bd28238003609980b66edbd25dae9239a237843 (patch) | |
tree | 49c5f6b3e0bbf1d5ad8f4b432fbb2de5e9e77ffe | |
parent | 07d9e48f562ecdfc20192c0af6cb06a413caf30e (diff) | |
download | Scilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.tar.gz Scilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.tar.bz2 Scilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.zip |
Nanmin and Nanmean added
74 files changed, 891 insertions, 18 deletions
diff --git a/demos/Brijesh_Demos/Test_Add_SCE.sce b/demos/Brijesh_Demos/Test_Add_SCE.sce deleted file mode 100644 index e250078..0000000 --- a/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/demos/Brijesh_Demos/Test_Addition.sci b/demos/Brijesh_Demos/test_addition.sci index 856ba63..f70f0af 100644 --- a/demos/Brijesh_Demos/Test_Addition.sci +++ b/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/demos/Brijesh_Demos/Test_Cross.sci b/demos/Brijesh_Demos/test_cross.sci index 01206b3..6c2224d 100644 --- a/demos/Brijesh_Demos/Test_Cross.sci +++ b/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/demos/Brijesh_Demos/Test_Erf.sci b/demos/Brijesh_Demos/test_erf.sci index 42208f6..5cebb25 100644 --- a/demos/Brijesh_Demos/Test_Erf.sci +++ b/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/demos/Brijesh_Demos/Test_Erfc.sci b/demos/Brijesh_Demos/test_erfc.sci index 2ad8cfe..ac50e15 100644 --- a/demos/Brijesh_Demos/Test_Erfc.sci +++ b/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/demos/Brijesh_Demos/Test_Erfcx.sci b/demos/Brijesh_Demos/test_erfcx.sci index e17ae51..a2a553c 100644 --- a/demos/Brijesh_Demos/Test_Erfcx.sci +++ b/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/demos/Brijesh_Demos/Test_Erfinv.sci b/demos/Brijesh_Demos/test_erfinv.sci index 99a8683..483d290 100644 --- a/demos/Brijesh_Demos/Test_Erfinv.sci +++ b/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/demos/Brijesh_Demos/Test_Isreal.sci b/demos/Brijesh_Demos/test_isequal.sci index 4846d31..1531275 100644 --- a/demos/Brijesh_Demos/Test_Isreal.sci +++ b/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/demos/Brijesh_Demos/test_nanmean.sci b/demos/Brijesh_Demos/test_nanmean.sci new file mode 100644 index 0000000..6009ad8 --- /dev/null +++ b/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/demos/Brijesh_Demos/test_nanmin.sci b/demos/Brijesh_Demos/test_nanmin.sci new file mode 100644 index 0000000..8651743 --- /dev/null +++ b/demos/Brijesh_Demos/test_nanmin.sci @@ -0,0 +1,16 @@ +function test_nanmin + disp('Datatype: Double'); + i1 = [%nan %nan; %nan %nan; %nan %nan]; + [o1, p1] = nanmin(i1); + //o1 = nanmin(i1); + disp(o1); + disp(p1); + //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/demos/Brijesh_Demos/Test_Toeplitz.sci b/demos/Brijesh_Demos/test_toeplitz.sci index 6d1269e..4a52e7b 100644 --- a/demos/Brijesh_Demos/Test_Toeplitz.sci +++ b/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/includes/sci2clib.h b/includes/sci2clib.h index caad1f1..c980a8f 100644 --- a/includes/sci2clib.h +++ b/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" diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar Binary files differindex 526697f..ad09fc5 100644 --- a/jar/scilab_en_US_help.jar +++ b/jar/scilab_en_US_help.jar diff --git a/macros/ASTManagement/lib b/macros/ASTManagement/lib Binary files differnew file mode 100644 index 0000000..dee4362 --- /dev/null +++ b/macros/ASTManagement/lib diff --git a/macros/CCodeGeneration/lib b/macros/CCodeGeneration/lib Binary files differnew file mode 100644 index 0000000..3d4fed1 --- /dev/null +++ b/macros/CCodeGeneration/lib diff --git a/macros/ErrorMessages/lib b/macros/ErrorMessages/lib Binary files differnew file mode 100644 index 0000000..ba3b9a5 --- /dev/null +++ b/macros/ErrorMessages/lib diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib Binary files differnew file mode 100644 index 0000000..239105c --- /dev/null +++ b/macros/FunctionAnnotation/lib diff --git a/macros/FunctionList/lib b/macros/FunctionList/lib Binary files differnew file mode 100644 index 0000000..1c722dd --- /dev/null +++ b/macros/FunctionList/lib diff --git a/macros/GeneralFunctions/lib b/macros/GeneralFunctions/lib Binary files differnew file mode 100644 index 0000000..7586a91 --- /dev/null +++ b/macros/GeneralFunctions/lib diff --git a/macros/Hardware/AVR/lib b/macros/Hardware/AVR/lib Binary files differnew file mode 100644 index 0000000..ed4c52b --- /dev/null +++ b/macros/Hardware/AVR/lib diff --git a/macros/Hardware/RasberryPi/Digital/lib b/macros/Hardware/RasberryPi/Digital/lib Binary files differnew file mode 100644 index 0000000..ba42ba7 --- /dev/null +++ b/macros/Hardware/RasberryPi/Digital/lib diff --git a/macros/Hardware/RasberryPi/I2C/lib b/macros/Hardware/RasberryPi/I2C/lib Binary files differnew file mode 100644 index 0000000..561476c --- /dev/null +++ b/macros/Hardware/RasberryPi/I2C/lib diff --git a/macros/Hardware/RasberryPi/Interrupt/lib b/macros/Hardware/RasberryPi/Interrupt/lib Binary files differnew file mode 100644 index 0000000..97a61ac --- /dev/null +++ b/macros/Hardware/RasberryPi/Interrupt/lib diff --git a/macros/Hardware/RasberryPi/Misc/lib b/macros/Hardware/RasberryPi/Misc/lib Binary files differnew file mode 100644 index 0000000..c718615 --- /dev/null +++ b/macros/Hardware/RasberryPi/Misc/lib diff --git a/macros/Hardware/RasberryPi/SPI/lib b/macros/Hardware/RasberryPi/SPI/lib Binary files differnew file mode 100644 index 0000000..a16d474 --- /dev/null +++ b/macros/Hardware/RasberryPi/SPI/lib diff --git a/macros/Hardware/RasberryPi/Serial/lib b/macros/Hardware/RasberryPi/Serial/lib Binary files differnew file mode 100644 index 0000000..a007f00 --- /dev/null +++ b/macros/Hardware/RasberryPi/Serial/lib diff --git a/macros/Hardware/RasberryPi/Setup/lib b/macros/Hardware/RasberryPi/Setup/lib Binary files differnew file mode 100644 index 0000000..83655c9 --- /dev/null +++ b/macros/Hardware/RasberryPi/Setup/lib diff --git a/macros/Hardware/RasberryPi/Shift/lib b/macros/Hardware/RasberryPi/Shift/lib Binary files differnew file mode 100644 index 0000000..2b12025 --- /dev/null +++ b/macros/Hardware/RasberryPi/Shift/lib diff --git a/macros/Hardware/RasberryPi/Soft/lib b/macros/Hardware/RasberryPi/Soft/lib Binary files differnew file mode 100644 index 0000000..09ecede --- /dev/null +++ b/macros/Hardware/RasberryPi/Soft/lib diff --git a/macros/Hardware/RasberryPi/Timing/lib b/macros/Hardware/RasberryPi/Timing/lib Binary files differnew file mode 100644 index 0000000..d271c90 --- /dev/null +++ b/macros/Hardware/RasberryPi/Timing/lib diff --git a/macros/Hardware/RasberryPi/gertBoard/lib b/macros/Hardware/RasberryPi/gertBoard/lib Binary files differnew file mode 100644 index 0000000..e8db080 --- /dev/null +++ b/macros/Hardware/RasberryPi/gertBoard/lib diff --git a/macros/Hardware/RasberryPi/lcd/lib b/macros/Hardware/RasberryPi/lcd/lib Binary files differnew file mode 100644 index 0000000..c2b693f --- /dev/null +++ b/macros/Hardware/RasberryPi/lcd/lib diff --git a/macros/Hardware/RasberryPi/lcd128x64/lib b/macros/Hardware/RasberryPi/lcd128x64/lib Binary files differnew file mode 100644 index 0000000..94dfda8 --- /dev/null +++ b/macros/Hardware/RasberryPi/lcd128x64/lib diff --git a/macros/Hardware/RasberryPi/lib b/macros/Hardware/RasberryPi/lib Binary files differnew file mode 100644 index 0000000..49ed811 --- /dev/null +++ b/macros/Hardware/RasberryPi/lib diff --git a/macros/Hardware/RasberryPi/mcp/lib b/macros/Hardware/RasberryPi/mcp/lib Binary files differnew file mode 100644 index 0000000..d411aad --- /dev/null +++ b/macros/Hardware/RasberryPi/mcp/lib diff --git a/macros/Hardware/RasberryPi/pcf/lib b/macros/Hardware/RasberryPi/pcf/lib Binary files differnew file mode 100644 index 0000000..da6a8da --- /dev/null +++ b/macros/Hardware/RasberryPi/pcf/lib diff --git a/macros/Hardware/RasberryPi/piGlow/lib b/macros/Hardware/RasberryPi/piGlow/lib Binary files differnew file mode 100644 index 0000000..3f30f85 --- /dev/null +++ b/macros/Hardware/RasberryPi/piGlow/lib diff --git a/macros/Hardware/RasberryPi/pinMap/lib b/macros/Hardware/RasberryPi/pinMap/lib Binary files differnew file mode 100644 index 0000000..133363e --- /dev/null +++ b/macros/Hardware/RasberryPi/pinMap/lib diff --git a/macros/Hardware/RasberryPi/pwm/lib b/macros/Hardware/RasberryPi/pwm/lib Binary files differnew file mode 100644 index 0000000..8711baf --- /dev/null +++ b/macros/Hardware/RasberryPi/pwm/lib diff --git a/macros/ImageProcessing/core/lib b/macros/ImageProcessing/core/lib Binary files differnew file mode 100644 index 0000000..40b7b0a --- /dev/null +++ b/macros/ImageProcessing/core/lib diff --git a/macros/ImageProcessing/highgui/lib b/macros/ImageProcessing/highgui/lib Binary files differnew file mode 100644 index 0000000..0d7f88a --- /dev/null +++ b/macros/ImageProcessing/highgui/lib diff --git a/macros/ImageProcessing/imgproc/lib b/macros/ImageProcessing/imgproc/lib Binary files differnew file mode 100644 index 0000000..63b5e7e --- /dev/null +++ b/macros/ImageProcessing/imgproc/lib diff --git a/macros/Scilab-Arduino/lib b/macros/Scilab-Arduino/lib Binary files differnew file mode 100644 index 0000000..a62fd4e --- /dev/null +++ b/macros/Scilab-Arduino/lib diff --git a/macros/SymbolTable/lib b/macros/SymbolTable/lib Binary files differnew file mode 100644 index 0000000..4379c83 --- /dev/null +++ b/macros/SymbolTable/lib diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 436d8bc..9e31b31 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -1015,9 +1015,65 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex // -------------------
-// --- Class Nanmax. ---
+// --- Class Nanmin. ---
// -------------------
-ClassName = 'Nanmax';
+ClassName = 'Nanmin';
+
+// --- 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(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)= ''1''',ClassFileName,'file','y');
+//PrintStringInfo('OUT(2).SZ(2)= ''2''',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');
+
+
+// --- 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 Nanmean. ---
+// -------------------
+ClassName = 'Nanmean';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -1039,6 +1095,40 @@ PrintStringInfo('d2'+ArgSeparator+'d0',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 = 'nanmean';
+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= 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');
+
// --- Annotation Function And Function List Function. ---
@@ -1046,6 +1136,9 @@ FunctionName = 'nanmax'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
// -------------------
// --- Class Issquare. ---
// -------------------
diff --git a/macros/ToolInitialization/lib b/macros/ToolInitialization/lib Binary files differnew file mode 100644 index 0000000..670a52e --- /dev/null +++ b/macros/ToolInitialization/lib diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index 90b80df..79c471d 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/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/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 4982900..cd44147 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/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/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index cbb0a1e..ce73f5e 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -816,6 +816,19 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/nanmax/snanmaxa.c" "src/c/elementaryFunctions/nanmax/snanmaxcola.c" "src/c/elementaryFunctions/nanmax/snanmaxrowa.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/dnanminnps.c" "src/c/elementaryFunctions/isscalar/disscalara.c" "src/c/elementaryFunctions/isscalar/disscalars.c" "src/c/elementaryFunctions/isscalar/gisscalars.c" diff --git a/macros/findDeps/lib b/macros/findDeps/lib Binary files differnew file mode 100644 index 0000000..afcd3ca --- /dev/null +++ b/macros/findDeps/lib diff --git a/macros/lib b/macros/lib Binary files differnew file mode 100644 index 0000000..551263e --- /dev/null +++ b/macros/lib diff --git a/src/c/elementaryFunctions/includes/nanmean.h b/src/c/elementaryFunctions/includes/nanmean.h new file mode 100644 index 0000000..097fec4 --- /dev/null +++ b/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/src/c/elementaryFunctions/includes/nanmin.h b/src/c/elementaryFunctions/includes/nanmin.h new file mode 100644 index 0000000..ba71bb0 --- /dev/null +++ b/src/c/elementaryFunctions/includes/nanmin.h @@ -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 +*/ + +#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); + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__NANMIN_H__*/ diff --git a/src/c/elementaryFunctions/interfaces/int_nanmean.h b/src/c/elementaryFunctions/interfaces/int_nanmean.h new file mode 100644 index 0000000..0195b0d --- /dev/null +++ b/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/src/c/elementaryFunctions/interfaces/int_nanmin.h b/src/c/elementaryFunctions/interfaces/int_nanmin.h new file mode 100644 index 0000000..4e8018a --- /dev/null +++ b/src/c/elementaryFunctions/interfaces/int_nanmin.h @@ -0,0 +1,29 @@ + /*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) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_NANMIN_H__*/ diff --git a/src/c/elementaryFunctions/nanmean/cnanmeana.c b/src/c/elementaryFunctions/nanmean/cnanmeana.c new file mode 100644 index 0000000..eaca1e7 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/cnanmeancola.c b/src/c/elementaryFunctions/nanmean/cnanmeancola.c new file mode 100644 index 0000000..7f643a6 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c b/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c new file mode 100644 index 0000000..05aa7e9 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/dnanmeana.c b/src/c/elementaryFunctions/nanmean/dnanmeana.c new file mode 100644 index 0000000..40f9ac6 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/dnanmeancola.c b/src/c/elementaryFunctions/nanmean/dnanmeancola.c new file mode 100644 index 0000000..81ed533 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c b/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c new file mode 100644 index 0000000..1ac02f5 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/snanmeana.c b/src/c/elementaryFunctions/nanmean/snanmeana.c new file mode 100644 index 0000000..aecf698 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/snanmeancola.c b/src/c/elementaryFunctions/nanmean/snanmeancola.c new file mode 100644 index 0000000..68df77b --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/snanmeanrowa.c b/src/c/elementaryFunctions/nanmean/snanmeanrowa.c new file mode 100644 index 0000000..1664aa4 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/znanmeana.c b/src/c/elementaryFunctions/nanmean/znanmeana.c new file mode 100644 index 0000000..366657a --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/znanmeancola.c b/src/c/elementaryFunctions/nanmean/znanmeancola.c new file mode 100644 index 0000000..28743e3 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmean/znanmeanrowa.c b/src/c/elementaryFunctions/nanmean/znanmeanrowa.c new file mode 100644 index 0000000..8d80c77 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmin/dnanmina.c b/src/c/elementaryFunctions/nanmin/dnanmina.c new file mode 100644 index 0000000..f2bce00 --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmin/dnanminnpa.c b/src/c/elementaryFunctions/nanmin/dnanminnpa.c new file mode 100644 index 0000000..6456ebe --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmin/dnanminnps.c b/src/c/elementaryFunctions/nanmin/dnanminnps.c new file mode 100644 index 0000000..9a33d2f --- /dev/null +++ b/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/src/c/elementaryFunctions/nanmin/dnanmins.c b/src/c/elementaryFunctions/nanmin/dnanmins.c new file mode 100644 index 0000000..86764a2 --- /dev/null +++ b/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/src/c/signalProcessing/includes/dct.h b/src/c/signalProcessing/includes/dct.h index db95274..80668ff 100644 --- a/src/c/signalProcessing/includes/dct.h +++ b/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/src/c/signalProcessing/interfaces/int_dct.h b/src/c/signalProcessing/interfaces/int_dct.h index ef58b48..3481c4d 100644 --- a/src/c/signalProcessing/interfaces/int_dct.h +++ b/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/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci b/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci index 63db1f4..8e9fe30 100644 --- a/tests/unit_tests/testLinearAlgebra/testsqroot/testsqroot.sci +++ b/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 |