summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhinav Dronamraju2017-07-10 21:01:37 +0530
committerAbhinav Dronamraju2017-07-10 21:01:37 +0530
commitc1874d367d68cb47b82cc7a1173caaf38e9e3d68 (patch)
tree2e0e39079e6859fac430136d2d86dff6a8a1828c
parent441f3e61481c1de99bbc408292224eb28a62bea7 (diff)
downloadScilab2C-c1874d367d68cb47b82cc7a1173caaf38e9e3d68.tar.gz
Scilab2C-c1874d367d68cb47b82cc7a1173caaf38e9e3d68.tar.bz2
Scilab2C-c1874d367d68cb47b82cc7a1173caaf38e9e3d68.zip
Nthroot added
-rw-r--r--2.3-1/includes/sci2clib.h6
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci69
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci2
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci4
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci19
-rw-r--r--2.3-1/macros/runsci2c.sci2
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/iscolumn.h4
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/isrow.h3
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/issquare.h38
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/nthroot.h37
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/pow.h5
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_iscolumn.h3
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_isrow.h3
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_issquare.h25
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_nthroot.h23
-rw-r--r--2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumna.c27
-rw-r--r--2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumns.c25
-rw-r--r--2.3-1/src/c/elementaryFunctions/isrow/u16isrowa.c27
-rw-r--r--2.3-1/src/c/elementaryFunctions/isrow/u16isrows.c25
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/dissquarea.c26
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/dissquares.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/gissquarea.c27
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/gissquares.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/sissquarea.c26
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/sissquares.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/zissquarea.c28
-rw-r--r--2.3-1/src/c/elementaryFunctions/issquare/zissquares.c25
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/dnthroot.c0
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/dnthroot1a.c28
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/dnthroota.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/dnthroots.c23
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/snthroot1a.c28
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/snthroota.c36
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/snthroots.c23
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/u16nthroot1a.c29
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/u16nthroota.c37
-rw-r--r--2.3-1/src/c/elementaryFunctions/nthroot/u16nthroots.c24
37 files changed, 812 insertions, 3 deletions
diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h
index 7e3b21fa..6be9eabf 100644
--- a/2.3-1/includes/sci2clib.h
+++ b/2.3-1/includes/sci2clib.h
@@ -163,6 +163,12 @@ extern "C" {
/*interfacing isrow*/
#include "isrow.h"
#include "int_isrow.h"
+/*interfacing nthroot*/
+#include "nthroot.h"
+#include "int_nthroot.h"
+/*interfacing issquare*/
+#include "issquare.h"
+#include "int_issquare.h"
/*interfacing isscalar*/
#include "isscalar.h"
#include "int_isscalar.h"
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index b890c6fe..77d51f17 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -944,7 +944,8 @@ PrintStringInfo('g2'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('g0'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'g0',ClassFileName,'file','y');
-
+PrintStringInfo('u162'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'g0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
FunctionName = 'isrow';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
@@ -952,6 +953,69 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
// -------------------
+// --- Class Nthroot. ---
+// -------------------
+ClassName = 'Nthroot';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+//Was FA_TP_USER
+//Cause some trouble if user specify some precision and if input(and also output) is complex.
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+//---Function list class. ----
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'nthroot';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+// -------------------
+// --- Class Issquare. ---
+// -------------------
+ClassName = 'Issquare';
+
+// --- 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');
+//Was FA_TP_USER
+//Cause some trouble if user specify some precision and if input(and also output) is complex.
+PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+//---Function list class. ----
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('g2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('g0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'g0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'issquare';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// -------------------
// --- Class Isscalar. ---
// -------------------
ClassName = 'Isscalar';
@@ -1008,6 +1072,9 @@ PrintStringInfo('g2'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('g0'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'g0',ClassFileName,'file','y');
PrintStringInfo('z0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'g0',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'iscolumn';
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index e1ba7f6f..6e9a3b6e 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -129,6 +129,8 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/asecd.h"
"src/c/elementaryFunctions/includes/asech.h"
"src/c/elementaryFunctions/includes/isrow.h"
+ "src/c/elementaryFunctions/includes/nthroot.h"
+ "src/c/elementaryFunctions/includes/issquare.h"
"src/c/elementaryFunctions/includes/isscalar.h"
"src/c/elementaryFunctions/includes/iscolumn.h"
"src/c/elementaryFunctions/includes/ismatrix.h"
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index 5f1ee025..91d117e7 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -99,7 +99,9 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_bitset.h"
"src/c/elementaryFunctions/interfaces/int_bitget.h"
"src/c/elementaryFunctions/interfaces/int_linspace.h"
- "src/c/elementaryFunctions/interfaces/int_isrow.h"
+ "src/c/elementaryFunctions/interfaces/int_isrow.h"
+ "src/c/elementaryFunctions/interfaces/int_nthroot.h"
+ "src/c/elementaryFunctions/interfaces/int_issquare.h"
"src/c/elementaryFunctions/interfaces/int_isscalar.h"
"src/c/elementaryFunctions/interfaces/int_iscolumn.h"
"src/c/elementaryFunctions/interfaces/int_ismatrix.h"
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index f08311b5..8fb58b23 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -776,6 +776,23 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/isrow/sisrowa.c"
"src/c/elementaryFunctions/isrow/zisrowa.c"
"src/c/elementaryFunctions/isrow/zisrows.c"
+ "src/c/elementaryFunctions/isrow/u16isrowa.c"
+ "src/c/elementaryFunctions/isrow/u16isrows.c"
+ "src/c/elementaryFunctions/issquare/dissquarea.c"
+ "src/c/elementaryFunctions/issquare/dissquares.c"
+ "src/c/elementaryFunctions/issquare/gissquares.c"
+ "src/c/elementaryFunctions/issquare/gissquarea.c"
+ "src/c/elementaryFunctions/issquare/sissquares.c"
+ "src/c/elementaryFunctions/issquare/sissquarea.c"
+ "src/c/elementaryFunctions/issquare/zissquarea.c"
+ "src/c/elementaryFunctions/issquare/zissquares.c"
+ "src/c/elementaryFunctions/nthroot/dnthroota.c"
+ "src/c/elementaryFunctions/nthroot/dnthroot1a.c"
+ "src/c/elementaryFunctions/nthroot/dnthroots.c"
+ "src/c/elementaryFunctions/nthroot/snthroota.c"
+ "src/c/elementaryFunctions/nthroot/snthroot1a.c"
+ "src/c/elementaryFunctions/nthroot/snthroots.c"
+
"src/c/elementaryFunctions/isscalar/disscalara.c"
"src/c/elementaryFunctions/isscalar/disscalars.c"
"src/c/elementaryFunctions/isscalar/gisscalars.c"
@@ -792,6 +809,8 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/iscolumn/siscolumna.c"
"src/c/elementaryFunctions/iscolumn/ziscolumna.c"
"src/c/elementaryFunctions/iscolumn/ziscolumns.c"
+ "src/c/elementaryFunctions/iscolumn/u16iscolumna.c"
+ "src/c/elementaryFunctions/iscolumn/u16iscolumns.c"
"src/c/elementaryFunctions/ismatrix/dismatrixa.c"
"src/c/elementaryFunctions/ismatrix/dismatrixs.c"
//"src/c/elementaryFunctions/ismatrix/gismatrixs.c"
diff --git a/2.3-1/macros/runsci2c.sci b/2.3-1/macros/runsci2c.sci
index 14e5a527..957920aa 100644
--- a/2.3-1/macros/runsci2c.sci
+++ b/2.3-1/macros/runsci2c.sci
@@ -112,7 +112,7 @@ PrintStepInfo('Copying sources', FileInfo.GeneralReport,'both');
for i = 1:size(allSources, "*")
// DEBUG only
- //disp("Copying "+allSources(i)+" in "+SCI2COutputPath+"/src/c/");
+ disp("Copying "+allSources(i)+" in "+SCI2COutputPath+"/src/c/");
//Copy ode related functions only if 'ode' function is used.
if(~isempty(strstr(allSources(i),'dode')))
if(size(SharedInfo.Includelist) <> 0)
diff --git a/2.3-1/src/c/elementaryFunctions/includes/iscolumn.h b/2.3-1/src/c/elementaryFunctions/includes/iscolumn.h
index ac1de9db..e9711766 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/iscolumn.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/iscolumn.h
@@ -17,6 +17,7 @@
#include "types.h"
#include "doubleComplex.h"
#include "floatComplex.h"
+#include "uint16.h"
#ifdef __cplusplus
extern "C" {
@@ -30,6 +31,9 @@ char giscolumna(char* , int);
char giscolumns(char);
char ziscolumna(doubleComplex*, int);
char ziscolumns(doubleComplex);
+char u16iscolumna(uint16*, int);
+char u16iscolumns(uint16);
+
#ifdef __cplusplus
} /* extern "C" */
diff --git a/2.3-1/src/c/elementaryFunctions/includes/isrow.h b/2.3-1/src/c/elementaryFunctions/includes/isrow.h
index 8c9f7ced..2de7da3d 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/isrow.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/isrow.h
@@ -17,6 +17,7 @@
#include "types.h"
#include "doubleComplex.h"
#include "floatComplex.h"
+#include "uint16.h"
#ifdef __cplusplus
extern "C" {
@@ -30,6 +31,8 @@ char gisrowa(char* , int);
char gisrows(char);
char zisrowa(doubleComplex*, int);
char zisrows(doubleComplex);
+char u16isrowa(uint16*, int);
+char u16isrows(uint16);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/2.3-1/src/c/elementaryFunctions/includes/issquare.h b/2.3-1/src/c/elementaryFunctions/includes/issquare.h
new file mode 100644
index 00000000..70e4c455
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/issquare.h
@@ -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
+*/
+
+#ifndef __ISSQUARE_H__
+#define __ISSQUARE_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char dissquarea(double* , int, int);
+char dissquares(double);
+char sissquarea( float* , int, int);
+char sissquares( float);
+char gissquarea(char* , int, int);
+char gissquares(char);
+char zissquarea(doubleComplex*, int, int);
+char zissquares(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/2.3-1/src/c/elementaryFunctions/includes/nthroot.h b/2.3-1/src/c/elementaryFunctions/includes/nthroot.h
new file mode 100644
index 00000000..62b533a0
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/nthroot.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NTHROOT_H__
+#define __NTHROOT_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnthroota(double* , int ,int , double*, int , int, double*);
+void dnthroot1a(double*, int , int, double, double*);
+double dnthroots(double, double);
+void snthroota(float* , int ,int , float*, int , int, double*);
+void snthroot1a(float*, int , int, float, double*);
+double snthroots(float, float);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/2.3-1/src/c/elementaryFunctions/includes/pow.h b/2.3-1/src/c/elementaryFunctions/includes/pow.h
index de1eb409..2905b7ed 100644
--- a/2.3-1/src/c/elementaryFunctions/includes/pow.h
+++ b/2.3-1/src/c/elementaryFunctions/includes/pow.h
@@ -15,6 +15,11 @@
#include "dynlib_elementaryfunctions.h"
#include "multiplication.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
#ifdef __cplusplus
extern "C" {
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_iscolumn.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_iscolumn.h
index f5e8a7de..e1011d72 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_iscolumn.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_iscolumn.h
@@ -21,6 +21,9 @@
#define g0iscolumng0(in) giscolumns(in)
#define z2iscolumng0(in,size) ziscolumna(in , size[1])
#define z0iscolumng0(in) ziscolumns(in)
+#define u162iscolumng0(in,size) u16iscolumna(in , size[1])
+#define u160iscolumng0(in) u16iscolumns(in)
+
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_isrow.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_isrow.h
index cc6be37c..9298de9d 100644
--- a/2.3-1/src/c/elementaryFunctions/interfaces/int_isrow.h
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_isrow.h
@@ -21,6 +21,9 @@
#define g0isrowg0(in) gisrows(in)
#define z2isrowg0(in, size) zisrowa(in , size[0])
#define z0isrowg0(in) zisrows(in)
+#define u162isrowg0(in, size) u16isrowa(in , size[0])
+#define u160isrowg0(in) u16isrows(in)
+
#endif
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_issquare.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_issquare.h
new file mode 100644
index 00000000..05357881
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_issquare.h
@@ -0,0 +1,25 @@
+ /*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
+*/
+
+
+
+#ifndef __INT_ISSQUARE_H__
+#define __INT_ISSQUARE_H__
+
+#define d2issquareg0(in, size ) dissquarea(in, size[0], size[1])
+#define d0issquareg0(in) dissquares(in)
+#define s2issquareg0(in , size) sissquarea(in, size[0], size[1])
+#define s0issquareg0(in) sissquares(in)
+#define g2issquareg0(in, size) gissquarea(in, size[0], size[1])
+#define g0issquareg0(in) gissquares(in)
+#define z2issquareg0(in, size) zissquarea(in , size[0], size[1])
+#define z0issquareg0(in) zissquares(in)
+
+#endif
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_nthroot.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_nthroot.h
new file mode 100644
index 00000000..aa48fcc9
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_nthroot.h
@@ -0,0 +1,23 @@
+ /*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
+*/
+
+
+
+#ifndef __INT_NTHROOT_H__
+#define __INT_NTHROOT_H__
+
+#define d2d2nthrootd2(in1, size1, in2, size2, out) dnthroota(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+#define d2d0nthrootd2(in1, size1, in2, out) dnthroot1a(in1, size1[0], size1[1], in2, out)
+#define d0d0nthrootd0(in1, in2) dnthroots(in1, in2)
+#define s2s2nthrootd2(in1, size1, in2, size2, out) snthroota(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+#define s2s0nthrootd2(in1, size1, in2, out) snthroot1a(in1, size1[0], size1[1], in2, out)
+#define s0s0nthrootd0(in1, in2) snthroots(in1, in2)
+
+#endif
diff --git a/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumna.c b/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumna.c
new file mode 100644
index 00000000..ef0821d6
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumna.c
@@ -0,0 +1,27 @@
+/* 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 "iscolumn.h"
+#include "types.h"
+#include "uint16.h"
+char u16iscolumna(uint16* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumns.c b/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumns.c
new file mode 100644
index 00000000..7a174642
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/iscolumn/u16iscolumns.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+#include "uint16.h"
+
+char u16iscolumns(uint16 inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/isrow/u16isrowa.c b/2.3-1/src/c/elementaryFunctions/isrow/u16isrowa.c
new file mode 100644
index 00000000..3ddbb0fe
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isrow/u16isrowa.c
@@ -0,0 +1,27 @@
+/* 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 "isrow.h"
+#include "types.h"
+#include "uint16.h"
+char u16isrowa(uint16* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/isrow/u16isrows.c b/2.3-1/src/c/elementaryFunctions/isrow/u16isrows.c
new file mode 100644
index 00000000..2942dd3b
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isrow/u16isrows.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+#include "uint16.h"
+
+char u16isrows(uint16 inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/dissquarea.c b/2.3-1/src/c/elementaryFunctions/issquare/dissquarea.c
new file mode 100644
index 00000000..840190d0
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/dissquarea.c
@@ -0,0 +1,26 @@
+/* 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 "issquare.h"
+#include "types.h"
+char dissquarea(double* inp, int size1, int size2)
+{
+ char out= 'F' ;
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/dissquares.c b/2.3-1/src/c/elementaryFunctions/issquare/dissquares.c
new file mode 100644
index 00000000..ac6d67e1
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/dissquares.c
@@ -0,0 +1,24 @@
+/* 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 "issquare.h"
+#include "types.h"
+
+char dissquares(double inp)
+{
+ double out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/gissquarea.c b/2.3-1/src/c/elementaryFunctions/issquare/gissquarea.c
new file mode 100644
index 00000000..73e2b37e
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/gissquarea.c
@@ -0,0 +1,27 @@
+/* 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 "issquare.h"
+#include "types.h"
+#include "string.h"
+char gissquarea(char *inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/gissquares.c b/2.3-1/src/c/elementaryFunctions/issquare/gissquares.c
new file mode 100644
index 00000000..572afd19
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/gissquares.c
@@ -0,0 +1,24 @@
+/* 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 "issquare.h"
+#include "types.h"
+
+char gissquares(char inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/sissquarea.c b/2.3-1/src/c/elementaryFunctions/issquare/sissquarea.c
new file mode 100644
index 00000000..856cb818
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/sissquarea.c
@@ -0,0 +1,26 @@
+/* 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 "issquare.h"
+#include "types.h"
+char sissquarea(float* inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/sissquares.c b/2.3-1/src/c/elementaryFunctions/issquare/sissquares.c
new file mode 100644
index 00000000..1a6fbf85
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/sissquares.c
@@ -0,0 +1,24 @@
+/* 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 "issquare.h"
+#include "types.h"
+
+char sissquares(float inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/zissquarea.c b/2.3-1/src/c/elementaryFunctions/issquare/zissquarea.c
new file mode 100644
index 00000000..023b8fc6
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/zissquarea.c
@@ -0,0 +1,28 @@
+/* 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 "doubleComplex.h"
+#include "issquare.h"
+#include "types.h"
+
+char zissquarea(doubleComplex *inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/issquare/zissquares.c b/2.3-1/src/c/elementaryFunctions/issquare/zissquares.c
new file mode 100644
index 00000000..2c1bb566
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/issquare/zissquares.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char zissquares(doubleComplex inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot.c b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot.c
deleted file mode 100644
index e69de29b..00000000
--- a/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot.c
+++ /dev/null
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot1a.c b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot1a.c
new file mode 100644
index 00000000..7c65169a
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroot1a.c
@@ -0,0 +1,28 @@
+/* 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 "nthroot.h"
+#include "types.h"
+void dnthroot1a(double* inp1, int irows, int icols, double inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/dnthroota.c b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroota.c
new file mode 100644
index 00000000..6f33b21e
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroota.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void dnthroota(double* inp1, int irows, int icols, double* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/dnthroots.c b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroots.c
new file mode 100644
index 00000000..99beaa13
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/dnthroots.c
@@ -0,0 +1,23 @@
+/* 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 "nthroot.h"
+#include "types.h"
+
+double dnthroots(double inp1, double inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/snthroot1a.c b/2.3-1/src/c/elementaryFunctions/nthroot/snthroot1a.c
new file mode 100644
index 00000000..60fae3d6
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/snthroot1a.c
@@ -0,0 +1,28 @@
+/* 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 "nthroot.h"
+#include "types.h"
+void snthroot1a(float* inp1, int irows, int icols, float inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/snthroota.c b/2.3-1/src/c/elementaryFunctions/nthroot/snthroota.c
new file mode 100644
index 00000000..4a04c1d6
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/snthroota.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void snthroota(float* inp1, int irows, int icols, float* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/snthroots.c b/2.3-1/src/c/elementaryFunctions/nthroot/snthroots.c
new file mode 100644
index 00000000..ad83dacc
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/snthroots.c
@@ -0,0 +1,23 @@
+/* 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 "nthroot.h"
+#include "types.h"
+
+double snthroots(float inp1, float inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroot1a.c b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroot1a.c
new file mode 100644
index 00000000..4cb654c9
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroot1a.c
@@ -0,0 +1,29 @@
+/* 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 "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+void snthroot1a(uint16* inp1, int irows, int icols, uint16 inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroota.c b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroota.c
new file mode 100644
index 00000000..5d178a17
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroota.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 <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+void dnthroota(uint16* inp1, int irows, int icols, uint16* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroots.c b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroots.c
new file mode 100644
index 00000000..618d29f6
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/nthroot/u16nthroots.c
@@ -0,0 +1,24 @@
+/* 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 "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+
+double dnthroots(uint16 inp1, uint16 inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}