summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c/elementaryFunctions/includes/nanmin.h4
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmin.h2
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmincola.c36
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmincolnpa.c36
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminrowa.c36
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminrownpa.c36
6 files changed, 150 insertions, 0 deletions
diff --git a/src/c/elementaryFunctions/includes/nanmin.h b/src/c/elementaryFunctions/includes/nanmin.h
index ba71bb0..adeff6b 100644
--- a/src/c/elementaryFunctions/includes/nanmin.h
+++ b/src/c/elementaryFunctions/includes/nanmin.h
@@ -28,6 +28,10 @@ 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
diff --git a/src/c/elementaryFunctions/interfaces/int_nanmin.h b/src/c/elementaryFunctions/interfaces/int_nanmin.h
index 4e8018a..408dac6 100644
--- a/src/c/elementaryFunctions/interfaces/int_nanmin.h
+++ b/src/c/elementaryFunctions/interfaces/int_nanmin.h
@@ -21,6 +21,8 @@ extern "C" {
#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" */
diff --git a/src/c/elementaryFunctions/nanmin/dnanmincola.c b/src/c/elementaryFunctions/nanmin/dnanmincola.c
new file mode 100644
index 0000000..0c4d202
--- /dev/null
+++ b/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/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c b/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c
new file mode 100644
index 0000000..3d1623c
--- /dev/null
+++ b/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/src/c/elementaryFunctions/nanmin/dnanminrowa.c b/src/c/elementaryFunctions/nanmin/dnanminrowa.c
new file mode 100644
index 0000000..d255ef1
--- /dev/null
+++ b/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/src/c/elementaryFunctions/nanmin/dnanminrownpa.c b/src/c/elementaryFunctions/nanmin/dnanminrownpa.c
new file mode 100644
index 0000000..fc46a0a
--- /dev/null
+++ b/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);
+
+ }
+
+
+}