summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrijeshcr2017-07-27 18:29:25 +0530
committerBrijeshcr2017-07-27 18:29:25 +0530
commit4bd28238003609980b66edbd25dae9239a237843 (patch)
tree49c5f6b3e0bbf1d5ad8f4b432fbb2de5e9e77ffe /src
parent07d9e48f562ecdfc20192c0af6cb06a413caf30e (diff)
downloadScilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.tar.gz
Scilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.tar.bz2
Scilab2C_fossee_old-4bd28238003609980b66edbd25dae9239a237843.zip
Nanmin and Nanmean added
Diffstat (limited to 'src')
-rw-r--r--src/c/elementaryFunctions/includes/nanmean.h42
-rw-r--r--src/c/elementaryFunctions/includes/nanmin.h37
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmean.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmin.h29
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeana.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeancola.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeanrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeana.c33
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeancola.c36
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeanrowa.c36
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeana.c33
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeancola.c35
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeanrowa.c35
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeana.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeancola.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeanrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmina.c53
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminnpa.c51
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminnps.c25
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmins.c32
-rw-r--r--src/c/signalProcessing/includes/dct.h2
-rw-r--r--src/c/signalProcessing/interfaces/int_dct.h4
22 files changed, 734 insertions, 3 deletions
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