summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/includes
diff options
context:
space:
mode:
authorAbhinav Dronamraju2017-09-29 22:00:40 +0530
committerAbhinav Dronamraju2017-09-29 22:00:40 +0530
commit9bc7ad78e8d7d7acc4b9387aa592542832e80b31 (patch)
tree7fce060665a91de5e5adb12d02003351c3d1fdfc /src/c/elementaryFunctions/includes
parent33755eb085a3ca8154cf83773b23fbb8aac4ba3e (diff)
parentac0045f12ad3d0938758e9742f4107a334e1afaa (diff)
downloadscilab2c-9bc7ad78e8d7d7acc4b9387aa592542832e80b31.tar.gz
scilab2c-9bc7ad78e8d7d7acc4b9387aa592542832e80b31.tar.bz2
scilab2c-9bc7ad78e8d7d7acc4b9387aa592542832e80b31.zip
NEW FEATURES AND NEW FUNCTIONS
Diffstat (limited to 'src/c/elementaryFunctions/includes')
-rw-r--r--src/c/elementaryFunctions/includes/acosd.h33
-rw-r--r--src/c/elementaryFunctions/includes/acot.h43
-rw-r--r--src/c/elementaryFunctions/includes/acotd.h37
-rw-r--r--src/c/elementaryFunctions/includes/acoth.h44
-rw-r--r--src/c/elementaryFunctions/includes/acsc.h44
-rw-r--r--src/c/elementaryFunctions/includes/acscd.h34
-rw-r--r--src/c/elementaryFunctions/includes/acsch.h32
-rw-r--r--src/c/elementaryFunctions/includes/asec.h34
-rw-r--r--src/c/elementaryFunctions/includes/asecd.h34
-rw-r--r--src/c/elementaryFunctions/includes/asech.h34
-rw-r--r--src/c/elementaryFunctions/includes/asind.h34
-rw-r--r--src/c/elementaryFunctions/includes/atand.h34
-rw-r--r--src/c/elementaryFunctions/includes/base2dec.h28
-rw-r--r--src/c/elementaryFunctions/includes/bin2dec.h37
-rw-r--r--src/c/elementaryFunctions/includes/bitand.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitcmp.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitget.h35
-rw-r--r--src/c/elementaryFunctions/includes/bitor.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitset.h35
-rw-r--r--src/c/elementaryFunctions/includes/bitxor.h48
-rw-r--r--src/c/elementaryFunctions/includes/ceil.h17
-rw-r--r--src/c/elementaryFunctions/includes/cos.h57
-rw-r--r--src/c/elementaryFunctions/includes/cosd.h28
-rw-r--r--src/c/elementaryFunctions/includes/cosh.h58
-rw-r--r--src/c/elementaryFunctions/includes/cotd.h29
-rw-r--r--src/c/elementaryFunctions/includes/coth.h37
-rw-r--r--src/c/elementaryFunctions/includes/csc.h36
-rw-r--r--src/c/elementaryFunctions/includes/cscd.h37
-rw-r--r--src/c/elementaryFunctions/includes/csch.h38
-rw-r--r--src/c/elementaryFunctions/includes/dec2base.h29
-rw-r--r--src/c/elementaryFunctions/includes/dec2bin.h36
-rw-r--r--src/c/elementaryFunctions/includes/dec2hex.h38
-rw-r--r--src/c/elementaryFunctions/includes/dec2oct.h37
-rw-r--r--src/c/elementaryFunctions/includes/exp.h58
-rw-r--r--src/c/elementaryFunctions/includes/factor.h27
-rw-r--r--src/c/elementaryFunctions/includes/factorial.h37
-rw-r--r--src/c/elementaryFunctions/includes/fix.h20
-rw-r--r--src/c/elementaryFunctions/includes/floor.h17
-rw-r--r--src/c/elementaryFunctions/includes/gcd.h26
-rw-r--r--src/c/elementaryFunctions/includes/get_float.h56
-rw-r--r--src/c/elementaryFunctions/includes/hex2dec.h27
-rw-r--r--src/c/elementaryFunctions/includes/int16.h54
-rw-r--r--src/c/elementaryFunctions/includes/int32.h62
-rw-r--r--src/c/elementaryFunctions/includes/int8.h54
-rw-r--r--src/c/elementaryFunctions/includes/iscolumn.h42
-rw-r--r--src/c/elementaryFunctions/includes/isequal.h38
-rw-r--r--src/c/elementaryFunctions/includes/isinf.h35
-rw-r--r--src/c/elementaryFunctions/includes/ismatrix.h41
-rw-r--r--src/c/elementaryFunctions/includes/isreal.h30
-rw-r--r--src/c/elementaryFunctions/includes/isrow.h41
-rw-r--r--src/c/elementaryFunctions/includes/isscalar.h38
-rw-r--r--src/c/elementaryFunctions/includes/issquare.h38
-rw-r--r--src/c/elementaryFunctions/includes/isvector.h38
-rw-r--r--src/c/elementaryFunctions/includes/lcm.h27
-rw-r--r--src/c/elementaryFunctions/includes/linspace.h39
-rw-r--r--src/c/elementaryFunctions/includes/log2.h39
-rw-r--r--src/c/elementaryFunctions/includes/logspace.h32
-rw-r--r--src/c/elementaryFunctions/includes/nancumsum.h42
-rw-r--r--src/c/elementaryFunctions/includes/nanmax.h48
-rw-r--r--src/c/elementaryFunctions/includes/nanmean.h42
-rw-r--r--src/c/elementaryFunctions/includes/nanmin.h42
-rw-r--r--src/c/elementaryFunctions/includes/nansum.h42
-rw-r--r--src/c/elementaryFunctions/includes/nextpow2.h28
-rw-r--r--src/c/elementaryFunctions/includes/nthroot.h37
-rw-r--r--src/c/elementaryFunctions/includes/oct2dec.h37
-rw-r--r--src/c/elementaryFunctions/includes/pmodulo.h40
-rw-r--r--src/c/elementaryFunctions/includes/pow.h21
-rw-r--r--src/c/elementaryFunctions/includes/primes.h28
-rw-r--r--src/c/elementaryFunctions/includes/round.h17
-rw-r--r--src/c/elementaryFunctions/includes/sec.h37
-rw-r--r--src/c/elementaryFunctions/includes/secd.h28
-rw-r--r--src/c/elementaryFunctions/includes/sech.h38
-rw-r--r--src/c/elementaryFunctions/includes/sin.h61
-rw-r--r--src/c/elementaryFunctions/includes/sinc.h29
-rw-r--r--src/c/elementaryFunctions/includes/sind.h37
-rw-r--r--src/c/elementaryFunctions/includes/sinh.h59
-rw-r--r--src/c/elementaryFunctions/includes/sqrt.h8
-rw-r--r--src/c/elementaryFunctions/includes/tan.h59
-rw-r--r--src/c/elementaryFunctions/includes/tand (copy).h37
-rw-r--r--src/c/elementaryFunctions/includes/tand.h37
-rw-r--r--src/c/elementaryFunctions/includes/tanh.h57
-rw-r--r--src/c/elementaryFunctions/includes/uint16.h54
-rw-r--r--src/c/elementaryFunctions/includes/uint32.h62
-rw-r--r--src/c/elementaryFunctions/includes/uint8.h54
84 files changed, 3237 insertions, 1 deletions
diff --git a/src/c/elementaryFunctions/includes/acosd.h b/src/c/elementaryFunctions/includes/acosd.h
new file mode 100644
index 00000000..96dae80a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acosd.h
@@ -0,0 +1,33 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOSD_H__
+#define __ACOSD_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacosds(double x);
+
+void dacosda(double* x, int size, double* y);
+
+double sacosds(float x);
+
+void sacosda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOSD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acot.h b/src/c/elementaryFunctions/includes/acot.h
new file mode 100644
index 00000000..430be12d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acot.h
@@ -0,0 +1,43 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOT_H__
+#define __ACOT_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacots(double x);
+
+void dacota(double* x, int size, double* y);
+
+float sacots(float x);
+
+void sacota(float* x, int size, float* y);
+
+floatComplex cacots(floatComplex x);
+
+void cacota(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacots(doubleComplex x);
+
+void zacota(doubleComplex* x, int size, doubleComplex* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOT_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acotd.h b/src/c/elementaryFunctions/includes/acotd.h
new file mode 100644
index 00000000..3be05ccf
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acotd.h
@@ -0,0 +1,37 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOTD_H__
+#define __ACOTD_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacotds(double x);
+
+void dacotda(double* x, int size, double* y);
+
+float sacotds(float x);
+
+void sacotda(float* x, int size, float* y);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acoth.h b/src/c/elementaryFunctions/includes/acoth.h
new file mode 100644
index 00000000..975182fe
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acoth.h
@@ -0,0 +1,44 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOTH_H__
+#define __ACOTH_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacoths(double x);
+
+void dacotha(double* x, int size, double* y);
+
+float sacoths(float x);
+
+void sacotha(float* x, int size, float* y);
+
+floatComplex cacoths(floatComplex x);
+
+void cacotha(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacoths(doubleComplex x);
+
+void zacotha(doubleComplex* x, int size, doubleComplex* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acsc.h b/src/c/elementaryFunctions/includes/acsc.h
new file mode 100644
index 00000000..be6455a4
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acsc.h
@@ -0,0 +1,44 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSC_H__
+#define __ACSC_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacscs(double x);
+
+void dacsca(double* x, int size, double* y);
+
+float sacscs(float x);
+
+void sacsca(float* x, int size, float* y);
+
+floatComplex cacscs(floatComplex x);
+
+void cacsca(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacscs(doubleComplex x);
+
+void zacsca(doubleComplex* x, int size, doubleComplex* y);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSC_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acscd.h b/src/c/elementaryFunctions/includes/acscd.h
new file mode 100644
index 00000000..3c5bb18d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acscd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSCD_H__
+#define __ACSCD_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacscds(double x);
+
+void dacscda(double* x, int size, double* y);
+
+float sacscds(float x);
+
+void sacscda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acsch.h b/src/c/elementaryFunctions/includes/acsch.h
new file mode 100644
index 00000000..ba2b1e1d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acsch.h
@@ -0,0 +1,32 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSCH_H__
+#define __ACSCH_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacschs(double x);
+
+void dacscha(double* x, int size, double* y);
+
+double sacschs(float x);
+
+void sacscha(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asec.h b/src/c/elementaryFunctions/includes/asec.h
new file mode 100644
index 00000000..8d1a65d1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asec.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASEC_H__
+#define __ASEC_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasecs(double x);
+
+void daseca(double* x, int size, double* y);
+
+double sasecs(float x);
+
+void saseca(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASEC_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asecd.h b/src/c/elementaryFunctions/includes/asecd.h
new file mode 100644
index 00000000..104677bd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asecd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASECD_H__
+#define __ASECD_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasecds(double x);
+
+void dasecda(double* x, int size, double* y);
+
+double sasecds(float x);
+
+void sasecda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asech.h b/src/c/elementaryFunctions/includes/asech.h
new file mode 100644
index 00000000..5e6c5e9c
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asech.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASECH_H__
+#define __ASECH_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasechs(double x);
+
+void dasecha(double* x, int size, double* y);
+
+double sasechs(float x);
+
+void sasecha(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asind.h b/src/c/elementaryFunctions/includes/asind.h
new file mode 100644
index 00000000..8f7d7102
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asind.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASIND_H__
+#define __ASIND_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasinds(double x);
+
+void dasinda(double* x, int size, double* y);
+
+double sasinds(float x);
+
+void sasinda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASIND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/atand.h b/src/c/elementaryFunctions/includes/atand.h
new file mode 100644
index 00000000..ed10f09f
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/atand.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - 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
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ATAND_H__
+#define __ATAND_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double datands(double x);
+
+void datanda(double* x, int size, double* y);
+
+double satands(float x);
+
+void satanda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ATAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/base2dec.h b/src/c/elementaryFunctions/includes/base2dec.h
new file mode 100644
index 00000000..426388ef
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/base2dec.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __BASE2DEC_H__
+#define __BASE2DEC_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double gbase2decs(char* in,int size,int base);
+double dbase2decs(double in,int base);
+//void ghex2deca(char* in,int size,double* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__BASE2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/bin2dec.h b/src/c/elementaryFunctions/includes/bin2dec.h
new file mode 100644
index 00000000..ea1585f5
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bin2dec.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __BIN2DEC_H__
+#define __BIN2DEC_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+long double dbin2decs(long double in);
+int8 i8bin2decs(int8 in);
+int16 i16bin2decs(int16 in);
+uint8 u8bin2decs(uint8 in);
+uint16 u16bin2decs(uint16 in);
+
+void dbin2deca(double* in,int size,double* out);
+void i8bin2deca(int8* in,int size,int8* out);
+void i16bin2deca(int16* in,int size,int16* out);
+void u8bin2deca(uint8* in,int size,uint8* out);
+void u16bin2deca(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__BIN2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/bitand.h b/src/c/elementaryFunctions/includes/bitand.h
new file mode 100644
index 00000000..ee132625
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitand.h
@@ -0,0 +1,48 @@
+/* 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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITAND_H__
+#define __BITAND_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitand returns the logical AND operation
+ 12 = 00001100 (In Binary)
+ 25 = 00011001 (In Binary)
+
+Bit Operation of 12 and 25
+ 00001100
+& 00011001
+ ________
+ 00001000 = 8 (In decimal)
+*/
+
+uint8 u8bitands(uint8 in1,uint8 in2);
+
+void u8bitanda(uint8* in1,uint8* in2,int size,uint8* out);
+
+uint16 u16bitands(uint16 in1,uint16 in2);
+
+void u16bitanda(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+#endif /* !__BITAND_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitcmp.h b/src/c/elementaryFunctions/includes/bitcmp.h
new file mode 100644
index 00000000..ead0b827
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitcmp.h
@@ -0,0 +1,48 @@
+/* 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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITCMP_H__
+#define __BITCMP_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitcmp returns the complement
+35=00100011 (In Binary)
+
+Bitwise complement Operation of 35
+~ 00100011
+ ________
+ 11011100 = 220 (In decimal)
+*/
+
+EXTERN_ELEMFUNCT uint8 u8bitcmps(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitcmpa(uint8* in1,uint8 in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitcmps(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitcmpa(uint16* in1,uint16 in2,int size,uint16* out);
+
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITCMP_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitget.h b/src/c/elementaryFunctions/includes/bitget.h
new file mode 100644
index 00000000..9e12abdc
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitget.h
@@ -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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITGET_H__
+#define __BITGET_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT uint8 u8bitgets(uint8 value,int position);
+
+EXTERN_ELEMFUNCT uint16 u16bitgets(uint16 value,int position);
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITGET_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitor.h b/src/c/elementaryFunctions/includes/bitor.h
new file mode 100644
index 00000000..3f2ae085
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitor.h
@@ -0,0 +1,48 @@
+/* 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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITOR_H__
+#define __BITOR_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitor returns the logical OR operation
+ 12 = 00001100 (In Binary)
+25 = 00011001 (In Binary)
+
+Bitwise OR Operation of 12 and 25
+ 00001100
+| 00011001
+ ________
+ 00011101 = 29 (In decimal) */
+
+EXTERN_ELEMFUNCT uint8 u8bitors(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitora(uint8* in1,uint8* in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitors(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitora(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITOR_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitset.h b/src/c/elementaryFunctions/includes/bitset.h
new file mode 100644
index 00000000..5d519de9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitset.h
@@ -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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITSET_H__
+#define __BITSET_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT uint8 u8bitsets(uint8 value,int position,int bit_value);
+
+EXTERN_ELEMFUNCT uint16 u16bitsets(uint16 value,int position,int bit_value);
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITSET_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitxor.h b/src/c/elementaryFunctions/includes/bitxor.h
new file mode 100644
index 00000000..5d429571
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitxor.h
@@ -0,0 +1,48 @@
+/* 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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITXOR_H__
+#define __BITXOR_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitxor returns the logical OR operation
+ 12 = 00001100 (In Binary)
+25 = 00011001 (In Binary)
+
+Bitwise XOR Operation of 12 and 25
+ 00001100
+^ 00011001
+ ________
+ 00010101 = 21 (In decimal) */
+
+EXTERN_ELEMFUNCT uint8 u8bitxors(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitxora(uint8* in1,uint8* in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitxors(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitxora(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITXOR_H__ */
diff --git a/src/c/elementaryFunctions/includes/ceil.h b/src/c/elementaryFunctions/includes/ceil.h
index 960b8b3b..57df72d5 100644
--- a/src/c/elementaryFunctions/includes/ceil.h
+++ b/src/c/elementaryFunctions/includes/ceil.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -33,6 +34,14 @@ EXTERN_ELEMFUNCT floatComplex cceils(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zceils(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8ceils(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8ceils(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16ceils(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16ceils(int16 in);
+
EXTERN_ELEMFUNCT void sceila(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dceila(double* in, int size, double* out);
@@ -41,6 +50,14 @@ EXTERN_ELEMFUNCT void cceila(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zceila(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8ceila(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8ceila(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16ceila(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16ceila(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cos.h b/src/c/elementaryFunctions/includes/cos.h
index 5d573b1e..25c76945 100644
--- a/src/c/elementaryFunctions/includes/cos.h
+++ b/src/c/elementaryFunctions/includes/cos.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,30 @@ EXTERN_ELEMFUNCT floatComplex ccoss(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zcoss(doubleComplex in);
/*
+** \brief Uint8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8coss(uint8 in);
+
+/*
+** \brief Int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8coss(int8 in);
+
+/*
+** \brief Uint16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16coss(uint16 in);
+
+/*
+** \brief Int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16coss(int16 in);
+
+/*
** \brief Float Matrix Cosine function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +105,38 @@ EXTERN_ELEMFUNCT void ccosa(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zcosa(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief uint8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8cosa(uint8* in, int size, float* out);
+
+/*
+** \brief int8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8cosa(int8* in, int size, float* out);
+
+/*
+** \brief uint16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16cosa(uint16* in, int size, float* out);
+
+/*
+** \brief int16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16cosa(int16* in, int size, float* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cosd.h b/src/c/elementaryFunctions/includes/cosd.h
new file mode 100644
index 00000000..7cb59be1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cosd.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COSD_H__
+#define __COSD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcosda(double* in,int size,double* out);
+void scosda(float* in,int size,float* out);
+double dcosds(double in);
+float scosds(float in);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COSD_H__*/
diff --git a/src/c/elementaryFunctions/includes/cosh.h b/src/c/elementaryFunctions/includes/cosh.h
index 0cbf8eb4..5c7c8b71 100644
--- a/src/c/elementaryFunctions/includes/cosh.h
+++ b/src/c/elementaryFunctions/includes/cosh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -50,6 +51,30 @@ EXTERN_ELEMFUNCT floatComplex ccoshs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zcoshs(doubleComplex in);
/*
+** \brief uint8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8coshs(uint8 in);
+
+/*
+** \brief int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8coshs(int8 in);
+
+/*
+** \brief uint16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16coshs(uint16 in);
+
+/*
+** \brief int16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16coshs(int16 in);
+
+/*
** \brief Float Matrix Cosine function
** \param in : input array value.
** \param out : output array value.
@@ -81,6 +106,39 @@ EXTERN_ELEMFUNCT void ccosha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zcosha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8cosha(uint8* in, int size, uint8* out);
+
+/*
+** \brief Int8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8cosha(int8* in, int size, int8* out);
+
+/*
+** \brief Uint16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16cosha(uint16* in, int size, uint16* out);
+
+/*
+** \brief Int16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16cosha(int16* in, int size, int16* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cotd.h b/src/c/elementaryFunctions/includes/cotd.h
new file mode 100644
index 00000000..d2140cb0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cotd.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COTD_H__
+#define __COTD_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcotda(double* in,int size,double* out);
+double dcotds(double in);
+void scotda(float* in,int size,float* out);
+float scotds(float in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COTD_H__*/
diff --git a/src/c/elementaryFunctions/includes/coth.h b/src/c/elementaryFunctions/includes/coth.h
new file mode 100644
index 00000000..ac3f82c7
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/coth.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COTH_H__
+#define __COTH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcotha(double* in,int size,double* out);
+double dcoths(double in);
+void scotha(float* in,int size,float* out);
+float scoths(float in);
+doubleComplex zcoths(doubleComplex z);
+void zcotha(doubleComplex* in, int size,doubleComplex* out);
+void ccotha(floatComplex* in, int size,floatComplex* out);
+floatComplex ccoths(floatComplex z);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COTH_H__*/
diff --git a/src/c/elementaryFunctions/includes/csc.h b/src/c/elementaryFunctions/includes/csc.h
new file mode 100644
index 00000000..6914c933
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/csc.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSC_H__
+#define __CSC_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcsca(double* in,int size,double* out);
+double dcscs(double in);
+void scsca(float* in,int size,float* out);
+float scscs(float in);
+doubleComplex zcscs(doubleComplex z);
+void zcsca(doubleComplex* in, int size,doubleComplex* out);
+floatComplex ccscs(floatComplex z);
+void ccsca(floatComplex* in, int size,floatComplex* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSC_H__*/
diff --git a/src/c/elementaryFunctions/includes/cscd.h b/src/c/elementaryFunctions/includes/cscd.h
new file mode 100644
index 00000000..fad31551
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cscd.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSCD_H__
+#define __CSCD_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcscda(double* in,int size,double* out);
+double dcscds(double in);
+void scscda(float* in,int size,float* out);
+float scscds(float in);
+
+void ccscda(floatComplex* in,int size,floatComplex* out);
+floatComplex ccscds(floatComplex in);
+void zcscda(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zcscds(doubleComplex in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSCD_H__*/
diff --git a/src/c/elementaryFunctions/includes/csch.h b/src/c/elementaryFunctions/includes/csch.h
new file mode 100644
index 00000000..fd7b8cd1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/csch.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSCH_H__
+#define __CSCH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcscha(double* in,int size,double* out);
+double dcschs(double in);
+void scscha(float* in,int size,float* out);
+float scschs(float in);
+
+void ccscha(floatComplex* in,int size,floatComplex* out);
+floatComplex ccschs(floatComplex in);
+void zcscha(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zcschs(doubleComplex in);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSCH_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2base.h b/src/c/elementaryFunctions/includes/dec2base.h
new file mode 100644
index 00000000..aa830072
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2base.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2BASE_H__
+#define __DEC2BASE_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2bases(double in,int base,int n,char* out);
+void ddec2basea(double* in,int size,int base,int n,char* out);
+void sdec2bases(float in,int base,int n,char* out);
+void sdec2basea(float* in,int size,int base,int n,char* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2BASE_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2bin.h b/src/c/elementaryFunctions/includes/dec2bin.h
new file mode 100644
index 00000000..d0917bba
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2bin.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2BIN_H__
+#define __DEC2BIN_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2bins(double in,int n,double* out);
+void i8dec2bins(int8 in,int n,int8* out);
+void i16dec2bins(int16 in,int n,int16* out);
+void u8dec2bins(uint8 in,int n,uint8* out);
+void u16dec2bins(uint16 in,int n,uint16* out);
+
+void ddec2bina(double* in,int size,int n,double* out);
+void i8dec2bina(int8* in,int size,int n,int8* out);
+void i16dec2bina(int16* in,int size,int n,int16* out);
+void u8dec2bina(uint8* in,int size,int n,uint8* out);
+void u16dec2bina(uint16* in,int size,int n,uint16* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2BIN_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2hex.h b/src/c/elementaryFunctions/includes/dec2hex.h
new file mode 100644
index 00000000..e973a871
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2hex.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2HEX_H__
+#define __DEC2HEX_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2hexs(double in,char* out);
+void i8dec2hexs(int8 in,char* out);
+void i16dec2hexs(int16 in,char* out);
+void u8dec2hexs(uint8 in,char* out);
+void u16dec2hexs(uint16 in,char* out);
+
+void ddec2hexa(double* in,int size,char* out);
+void i8dec2hexa(int8* in,int size,char* out);
+void i16dec2hexa(int16* in,int size,char* out);
+void u8dec2hexa(uint8* in,int size,char* out);
+void u16dec2hexa(uint16* in,int size,char* out);
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2HEX_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2oct.h b/src/c/elementaryFunctions/includes/dec2oct.h
new file mode 100644
index 00000000..b0e38fa5
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2oct.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2oct_H__
+#define __DEC2oct_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2octs(double in,double* out);
+void i8dec2octs(int8 in,int8* out);
+void i16dec2octs(int16 in,int16* out);
+void u8dec2octs(uint8 in,uint8* out);
+void u16dec2octs(uint16 in,uint16* out);
+
+void ddec2octa(double* in,int size,double* out);
+void i8dec2octa(int8* in,int size,int8* out);
+void i16dec2octa(int16* in,int size,int16* out);
+void u8dec2octa(uint8* in,int size,uint8* out);
+void u16dec2octa(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2oct_H__*/
diff --git a/src/c/elementaryFunctions/includes/exp.h b/src/c/elementaryFunctions/includes/exp.h
index 297a5769..6e8f027c 100644
--- a/src/c/elementaryFunctions/includes/exp.h
+++ b/src/c/elementaryFunctions/includes/exp.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -50,6 +51,30 @@ EXTERN_ELEMFUNCT floatComplex cexps(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zexps(doubleComplex in);
/*
+** \brief Uint8 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8exps(uint8 in);
+
+/*
+** \brief Int8 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8exps(int8 in);
+
+/*
+** \brief Uint16 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16exps(uint16 in);
+
+/*
+** \brief Int16 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16exps(int16 in);
+
+/*
** \brief Float Matrix Exponential function
** \param in : input array value.
** \param out : output array value.
@@ -81,6 +106,39 @@ EXTERN_ELEMFUNCT void cexpa(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zexpa(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8expa(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8expa(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16expa(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16expa(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/factor.h b/src/c/elementaryFunctions/includes/factor.h
new file mode 100644
index 00000000..bec7277b
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/factor.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __FACTOR_H__
+#define __FACTOR_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dfactors(double in,double* out);
+void sfactors(float in,float* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__FACTOR_H__*/
diff --git a/src/c/elementaryFunctions/includes/factorial.h b/src/c/elementaryFunctions/includes/factorial.h
new file mode 100644
index 00000000..077191e3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/factorial.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __FACTORIAL_H__
+#define __FACTORIAL_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dfactorials(double in);
+//int8 i8factorials(int8 in);
+//int16 i16factorials(int16 in);
+//uint8 u8factorials(uint8 in);
+//uint16 u16factorials(uint16 in);
+
+void dfactoriala(double* in,int size,double* out);
+//void i8factoriala(int8* in,int size,int8* out);
+//void i16factoriala(int16* in,int size,int16* out);
+//void u8factoriala(uint8* in,int size,uint8* out);
+//void u16factoriala(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__FACTORIAL_H__*/
diff --git a/src/c/elementaryFunctions/includes/fix.h b/src/c/elementaryFunctions/includes/fix.h
index 504a63c1..592905b4 100644
--- a/src/c/elementaryFunctions/includes/fix.h
+++ b/src/c/elementaryFunctions/includes/fix.h
@@ -16,6 +16,10 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
+#include "floor.h"
+#include "ceil.h"
+
#ifdef __cplusplus
extern "C" {
@@ -35,6 +39,14 @@ EXTERN_ELEMFUNCT floatComplex cfixs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfixs(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8fixs(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8fixs(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16fixs(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16fixs(int16 in);
+
EXTERN_ELEMFUNCT void sfixa(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfixa(double* in, int size, double* out);
@@ -43,6 +55,14 @@ EXTERN_ELEMFUNCT void cfixa(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfixa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8fixa(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8fixa(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16fixa(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16fixa(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/floor.h b/src/c/elementaryFunctions/includes/floor.h
index 971cdf65..cd566416 100644
--- a/src/c/elementaryFunctions/includes/floor.h
+++ b/src/c/elementaryFunctions/includes/floor.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex cfloors(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfloors(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8floors(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8floors(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16floors(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16floors(int16 in);
+
EXTERN_ELEMFUNCT void sfloora(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfloora(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void cfloora(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfloora(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8floora(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8floora(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16floora(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16floora(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/gcd.h b/src/c/elementaryFunctions/includes/gcd.h
new file mode 100644
index 00000000..179eea0e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/gcd.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __GCD_H__
+#define __GCD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+
+uint8 u8gcda(uint8* in,int size);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__GCD_H__*/
diff --git a/src/c/elementaryFunctions/includes/get_float.h b/src/c/elementaryFunctions/includes/get_float.h
new file mode 100644
index 00000000..285cb9c9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/get_float.h
@@ -0,0 +1,56 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Arnaud Torset
+ * Author - Shamik Guha
+ * 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
+ *
+ */
+
+#ifndef __GET_FLOAT_H__
+#define __GET_FLOAT_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ float(X) returns the unsigned char part of the double value
+*/
+
+EXTERN_ELEMFUNCT float sfloats(float in);
+
+EXTERN_ELEMFUNCT float dfloats(double in);
+
+EXTERN_ELEMFUNCT float i8floats(int8 in);
+
+EXTERN_ELEMFUNCT float u8floats(uint8 in);
+
+EXTERN_ELEMFUNCT float u16floats(uint16 in);
+
+EXTERN_ELEMFUNCT float i16floats(int16 in);
+
+EXTERN_ELEMFUNCT void sfloata(float* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void dfloata(double* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void i8floata(int8* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void u16floata(uint16* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void i16floata(int16* in, int size, float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__GET_FLOAT_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/hex2dec.h b/src/c/elementaryFunctions/includes/hex2dec.h
new file mode 100644
index 00000000..f16a8541
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/hex2dec.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __HEX2DEC_H__
+#define __HEX2DEC_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double ghex2decs(char* in,int size);
+double dhex2decs(double in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__HEX2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/int16.h b/src/c/elementaryFunctions/includes/int16.h
new file mode 100644
index 00000000..6135e6b0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int16.h
@@ -0,0 +1,54 @@
+/* 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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT16_H__
+#define __INT16_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int16(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT int16 sint16s(float in);
+
+EXTERN_ELEMFUNCT int16 dint16s(double in);
+
+EXTERN_ELEMFUNCT int16 u8int16s(uint8 in);
+
+EXTERN_ELEMFUNCT int16 i8int16s(int8 in);
+
+EXTERN_ELEMFUNCT int16 u16int16s(uint16 in);
+
+EXTERN_ELEMFUNCT void sint16a(float* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void dint16a(double* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void u8int16a(uint8* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void i8int16a(int8* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void u16int16a(uint16* in, int size, int16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT16_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/int32.h b/src/c/elementaryFunctions/includes/int32.h
new file mode 100644
index 00000000..26b7bcbf
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT32_H__
+#define __INT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int32(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT int32 sint32s(float in);
+
+EXTERN_ELEMFUNCT int32 dint32s(double in);
+
+EXTERN_ELEMFUNCT int32 u8int32s(uint8 in);
+
+EXTERN_ELEMFUNCT int32 i8int32s(int8 in);
+
+EXTERN_ELEMFUNCT int32 u16int32s(uint16 in);
+
+EXTERN_ELEMFUNCT int32 i16int32s(int16 in);
+
+EXTERN_ELEMFUNCT int32 u32int32s(uint32 in);
+
+EXTERN_ELEMFUNCT void sint32a(float* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void dint32a(double* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u8int32a(uint8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i8int32a(int8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u16int32a(uint16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i16int32a(int16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u32int32a(uint32* in, int size, int32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT32_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/int8.h b/src/c/elementaryFunctions/includes/int8.h
new file mode 100644
index 00000000..0ac8723f
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int8.h
@@ -0,0 +1,54 @@
+/* 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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT8_H__
+#define __INT8_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int8(X) returns the signed char part of the double value
+*/
+
+EXTERN_ELEMFUNCT int8 sint8s(float in);
+
+EXTERN_ELEMFUNCT int8 dint8s(double in);
+
+EXTERN_ELEMFUNCT int8 u8int8s(uint8 in);
+
+EXTERN_ELEMFUNCT int8 u16int8s(uint16 in);
+
+EXTERN_ELEMFUNCT int8 i16int8s(int16 in);
+
+EXTERN_ELEMFUNCT void sint8a(float* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void dint8a(double* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u8int8a(uint8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16int8a(uint16* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void i16int8a(int16* in, int size, int8* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT8_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/iscolumn.h b/src/c/elementaryFunctions/includes/iscolumn.h
new file mode 100644
index 00000000..e9711766
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/iscolumn.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISCOLUMN_H__
+#define __ISCOLUMN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char discolumna(double* , int);
+char discolumns(double);
+char siscolumna( float* , int);
+char siscolumns( float);
+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" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isequal.h b/src/c/elementaryFunctions/includes/isequal.h
new file mode 100644
index 00000000..d22a8047
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isequal.h
@@ -0,0 +1,38 @@
+ /* Copyright (C) 2017 - 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 __ISEQUAL_H__
+#define __ISEQUAL_H__
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disequals(double inp1, double inp2);
+char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c);
+char sisequals(float inp1, float inp2);
+char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c);
+char zisequals(doubleComplex inp1, doubleComplex inp2);
+char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c);
+char u16isequals(uint16 inp1, uint16 inp2);
+char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ISEQUAL_H__*/
diff --git a/src/c/elementaryFunctions/includes/isinf.h b/src/c/elementaryFunctions/includes/isinf.h
new file mode 100644
index 00000000..6752c377
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isinf.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2017 - 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 __ISINF_H__
+#define __ISINF_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disinfs(double x);
+char sisinfs(float x);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__ISINF_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/ismatrix.h b/src/c/elementaryFunctions/includes/ismatrix.h
new file mode 100644
index 00000000..0dd8b4a3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/ismatrix.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISMATRIX_H__
+#define __ISMATRIX_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char dismatrixa(double*);
+char dismatrixs(double);
+char sismatrixa(float*);
+char sismatrixs(float);
+char gismatrixa(char*);
+char gismatrixs(char);
+char zismatrixa(doubleComplex*);
+char zismatrixs(doubleComplex);
+char u16ismatrixa(uint16*);
+char u16ismatrixs(uint16);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isreal.h b/src/c/elementaryFunctions/includes/isreal.h
new file mode 100644
index 00000000..0183ebce
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isreal.h
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+#ifndef __ISREAL_H__
+#define __ISREAL_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+float sisreals(float a);
+
+double disreals(double a);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isrow.h b/src/c/elementaryFunctions/includes/isrow.h
new file mode 100644
index 00000000..2de7da3d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isrow.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISROW_H__
+#define __ISROW_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disrowa(double* , int);
+char disrows(double);
+char sisrowa( float* , int);
+char sisrows( float);
+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" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isscalar.h b/src/c/elementaryFunctions/includes/isscalar.h
new file mode 100644
index 00000000..f4880437
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isscalar.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 __ISSCALAR_H__
+#define __ISSCALAR_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disscalara(double* , int);
+char disscalars(double);
+char sisscalara( float* , int);
+char sisscalars( float);
+char gisscalara(char* , int);
+char gisscalars(char);
+char zisscalara(doubleComplex*, int);
+char zisscalars(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/issquare.h b/src/c/elementaryFunctions/includes/issquare.h
new file mode 100644
index 00000000..70e4c455
--- /dev/null
+++ b/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/src/c/elementaryFunctions/includes/isvector.h b/src/c/elementaryFunctions/includes/isvector.h
new file mode 100644
index 00000000..75599cdd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isvector.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 __ISVECTOR_H__
+#define __ISVECTOR_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disvectora(double* , int, int);
+char disvectors(double);
+char sisvectora( float* , int, int);
+char sisvectors( float);
+char gisvectora(char* , int, int );
+char gisvectors(char);
+char zisvectora(doubleComplex*, int, int);
+char zisvectors(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/lcm.h b/src/c/elementaryFunctions/includes/lcm.h
new file mode 100644
index 00000000..3a3e66fb
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/lcm.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __LCM_H__
+#define __LCM_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 u8lcma(uint8* in,int size);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LCM_H__*/
+
diff --git a/src/c/elementaryFunctions/includes/linspace.h b/src/c/elementaryFunctions/includes/linspace.h
new file mode 100644
index 00000000..62d45015
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/linspace.h
@@ -0,0 +1,39 @@
+/* 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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __LINSPACE_H__
+#define __LINSPACE_H__
+
+#include "dynlib_elementaryfunctions.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT void dlinspaces(double low_limit,double up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void slinspaces(float low_limit,float up_limit,float range_num, float* out);
+
+EXTERN_ELEMFUNCT void dlinspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void slinspacea(float *low_limit,int row,float *up_limit,float range_num, float* out);
+
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LINSPACE_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/log2.h b/src/c/elementaryFunctions/includes/log2.h
new file mode 100644
index 00000000..e7b2affb
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/log2.h
@@ -0,0 +1,39 @@
+ /* Copyright (C) 2017 - 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 __LOG2_H__
+#define __LOG2_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+#include "log.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dlog2s(double inp);
+float slog2s(float inp);
+doubleComplex zlog2s(doubleComplex inp);
+void dlog2a(double* inp,int size, double* out);
+void slog2a(float* inp,int size, float* out);
+void zlog2a(doubleComplex* inp,int size, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LOG2_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/logspace.h b/src/c/elementaryFunctions/includes/logspace.h
new file mode 100644
index 00000000..eee39de7
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/logspace.h
@@ -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: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __LOGSPACE_H__
+#define __LOGSPACE_H__
+
+#include "dynlib_elementaryfunctions.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT void dlogspaces(double low_limit,double up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void dlogspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LOGSPACE_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/nancumsum.h b/src/c/elementaryFunctions/includes/nancumsum.h
new file mode 100644
index 00000000..48ccc96e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nancumsum.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NANCUMSUM_H__
+#define __NANCUMSUM_H__
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnancumsuma(double* , int , double*);
+void dnancumsumrowa(double*, int, int, double*);
+void dnancumsumcola(double*, int, int, double*);
+
+void snancumsuma(float* , int, float* );
+void snancumsumrowa(float*, int, int, float*);
+void snancumsumcola(float*, int, int, float*);
+
+void znancumsuma(doubleComplex* , int , doubleComplex*);
+void znancumsumrowa(doubleComplex*, int, int, doubleComplex*);
+void znancumsumcola(doubleComplex*, int, int, doubleComplex*);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANCUMSUM_H__*/
diff --git a/src/c/elementaryFunctions/includes/nanmax.h b/src/c/elementaryFunctions/includes/nanmax.h
new file mode 100644
index 00000000..83cfa0e9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nanmax.h
@@ -0,0 +1,48 @@
+/* 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 __NANMAX_H__
+#define __NANMAX_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmaxa (double* , int);
+double dnanmax1a (double* , int, int , double*);
+double dnanmax2a (double* , int, double*);
+void dnanmaxrowa (double*, int , int, double*, double*);
+void dnanmaxcola (double*, int , int, double*, double*);
+void dnanmaxrow1a (double*, int , int, double*);
+void dnanmaxcol1a (double*, int , int, double*);
+
+float snanmaxa (float* , int);
+float snanmax1a (float* , int, int , float*);
+float snanmax2a (float* , int, float*);
+void snanmaxrowa (float*, int , int, float*, float*);
+void snanmaxcola (float*, int , int, float*, float*);
+void snanmaxrow1a (float*, int , int, float*);
+void snanmaxcol1a (float*, int , int, float*);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/nanmean.h b/src/c/elementaryFunctions/includes/nanmean.h
new file mode 100644
index 00000000..097fec4e
--- /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 00000000..34bbfefd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nanmin.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 __NANMIN_H__
+#define __NANMIN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmina(double* in, int row, int col, double* pos);
+double dnanminnpa(double* in, int row, int col);
+double dnanmins(double in, double* pos);
+double dnanminnps(double in);
+
+void dnanminrownpa(double *in, int row, int col, double* out);
+void dnanmincolnpa(double *in, int row, int col, double* out);
+void dnanminrowa(double *in, int row, int col, double *out, double *p);
+void dnanmincola(double *in, int row, int col, double *out, double *p);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANMIN_H__*/
diff --git a/src/c/elementaryFunctions/includes/nansum.h b/src/c/elementaryFunctions/includes/nansum.h
new file mode 100644
index 00000000..5a366631
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nansum.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: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NANSUM_H__
+#define __NANSUM_H__
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnansuma(double* , int );
+void dnansumrowa(double*, int, int, double*);
+void dnansumcola(double*, int, int, double*);
+
+float snansuma(float* , int );
+void snansumrowa(float*, int, int, float*);
+void snansumcola(float*, int, int, float*);
+
+doubleComplex znansuma(doubleComplex* , int );
+void znansumrowa(doubleComplex*, int, int, doubleComplex*);
+void znansumcola(doubleComplex*, int, int, doubleComplex*);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__MATRIX_H__*/
diff --git a/src/c/elementaryFunctions/includes/nextpow2.h b/src/c/elementaryFunctions/includes/nextpow2.h
new file mode 100644
index 00000000..c86bea01
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nextpow2.h
@@ -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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NEXTPOW2_H__
+#define __NEXTPOW2_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnextpow2a(double *in,int size,double *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
+
diff --git a/src/c/elementaryFunctions/includes/nthroot.h b/src/c/elementaryFunctions/includes/nthroot.h
new file mode 100644
index 00000000..62b533a0
--- /dev/null
+++ b/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/src/c/elementaryFunctions/includes/oct2dec.h b/src/c/elementaryFunctions/includes/oct2dec.h
new file mode 100644
index 00000000..0b454d11
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/oct2dec.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __OCT2DEC_H__
+#define __OCT2DEC_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double doct2decs(double in);
+int8 i8oct2decs(int8 in);
+int16 i16oct2decs(int16 in);
+uint8 u8oct2decs(uint8 in);
+uint16 u16oct2decs(uint16 in);
+
+void doct2deca(double* in,int size,double* out);
+void i8oct2deca(int8* in,int size,int8* out);
+void i16oct2deca(int16* in,int size,int16* out);
+void u8oct2deca(uint8* in,int size,uint8* out);
+void u16oct2deca(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__OCT2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/pmodulo.h b/src/c/elementaryFunctions/includes/pmodulo.h
new file mode 100644
index 00000000..d46febc3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/pmodulo.h
@@ -0,0 +1,40 @@
+/* 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 __PMODULO_H__
+#define __PMODULO_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dpmoduloa(double*, int ,double*, double*);
+double dpmodulos(double, double);
+
+void spmoduloa(float*, int ,float*, float*);
+float spmodulos(float, float);
+
+void i16pmoduloa(int16*, int ,int16*, int16*);
+int16 i16pmodulos(int16, int16);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/pow.h b/src/c/elementaryFunctions/includes/pow.h
index ec8216d8..2905b7ed 100644
--- a/src/c/elementaryFunctions/includes/pow.h
+++ b/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" {
@@ -27,6 +32,14 @@ EXTERN_ELEMFUNCT floatComplex cpows(floatComplex value, floatComplex expand);
EXTERN_ELEMFUNCT doubleComplex zpows(doubleComplex value, doubleComplex expand);
+EXTERN_ELEMFUNCT uint8 u8pows(uint8 value, uint8 expand);
+
+EXTERN_ELEMFUNCT uint16 u16pows(uint16 value, uint16 expand);
+
+EXTERN_ELEMFUNCT int8 i8pows(int8 value, int8 expand);
+
+EXTERN_ELEMFUNCT int16 i16pows(int16 value, int16 expand);
+
EXTERN_ELEMFUNCT void spowa(float *value, int size, float* expand, float *out);
EXTERN_ELEMFUNCT void dpowa(double *value, int size, double* expand, double *out);
@@ -35,6 +48,14 @@ EXTERN_ELEMFUNCT void cpowa(floatComplex *value, int size, floatComplex* expand
EXTERN_ELEMFUNCT void zpowa(doubleComplex *value, int size, doubleComplex* expand, doubleComplex *out);
+EXTERN_ELEMFUNCT void u8powa(uint8 *value, int size, uint8* expand, uint8 *out);
+
+EXTERN_ELEMFUNCT void u16powa(uint16 *value, int size, uint16* expand, uint16 *out);
+
+EXTERN_ELEMFUNCT void i8powa(int8 *value, int size, int8* expand, int8 *out);
+
+EXTERN_ELEMFUNCT void i16powa(int16 *value, int size, int16* expand, int16 *out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/primes.h b/src/c/elementaryFunctions/includes/primes.h
new file mode 100644
index 00000000..c541df9e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/primes.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __PRIMES_H__
+#define __PRIMES_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+void dprimess(double in,double* out);
+void sprimess(float in,float* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__PRIMES_H__*/
diff --git a/src/c/elementaryFunctions/includes/round.h b/src/c/elementaryFunctions/includes/round.h
index 1c3c0cea..6894265a 100644
--- a/src/c/elementaryFunctions/includes/round.h
+++ b/src/c/elementaryFunctions/includes/round.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex crounds(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zrounds(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8rounds(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8rounds(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16rounds(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16rounds(int16 in);
+
EXTERN_ELEMFUNCT void srounda(float* in, int size, float* out);
EXTERN_ELEMFUNCT void drounda(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void crounda(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zrounda(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8rounda(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8rounda(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16rounda(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16rounda(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sec.h b/src/c/elementaryFunctions/includes/sec.h
new file mode 100644
index 00000000..a04c5f73
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sec.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SEC_H__
+#define __SEC_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+//#include <complex.h>
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dseca(double* in,int size,double* out);
+double dsecs(double in);
+void sseca(float* in,int size,float* out);
+float ssecs(float in);
+
+doubleComplex zsecs(doubleComplex z);
+//void zseca(doubleComplex* in, int size,doubleComplex* out);
+floatComplex csecs(floatComplex z);
+void cseca(floatComplex* in, int size,floatComplex* out);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/secd.h b/src/c/elementaryFunctions/includes/secd.h
new file mode 100644
index 00000000..bf9c653d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/secd.h
@@ -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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SECD_H__
+#define __SECD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dsecda(double* in,int size,double* out);
+void ssecda(float* in,int size,float* out);
+double dsecds(double in);
+float ssecds(float in);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SECD_H__*/
diff --git a/src/c/elementaryFunctions/includes/sech.h b/src/c/elementaryFunctions/includes/sech.h
new file mode 100644
index 00000000..9b85396a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sech.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: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SECH_H__
+#define __SECH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dsecha(double* in,int size,double* out);
+double dsechs(double in);
+void ssecha(float* in,int size,float* out);
+float ssechs(float in);
+
+void csecha(floatComplex* in,int size,floatComplex* out);
+floatComplex csechs(floatComplex in);
+void zsecha(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zsechs(doubleComplex in);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SECH_H__*/
diff --git a/src/c/elementaryFunctions/includes/sin.h b/src/c/elementaryFunctions/includes/sin.h
index 198b0665..ffb76269 100644
--- a/src/c/elementaryFunctions/includes/sin.h
+++ b/src/c/elementaryFunctions/includes/sin.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,33 @@ EXTERN_ELEMFUNCT floatComplex csins(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zsins(doubleComplex in);
/*
+** \brief Uint8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8sins(uint8 in);
+
+
+/*
+** \brief Int8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8sins(int8 in);
+
+
+/*
+** \brief Uint16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16sins(uint16 in);
+
+
+/*
+** \brief Int16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16sins(int16 in);
+
+/*
** \brief Float Matrix Sine function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +108,39 @@ EXTERN_ELEMFUNCT void csina(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsina(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief uint8 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8sina(uint8* in, int size, float* out);
+
+/*
+** \brief int8 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8sina(int8* in, int size, float* out);
+
+/*
+** \brief uint16 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16sina(uint16* in, int size, float* out);
+
+/*
+** \brief int16 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16sina(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sinc.h b/src/c/elementaryFunctions/includes/sinc.h
new file mode 100644
index 00000000..8bc98d28
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sinc.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINC_H__
+#define __SINC_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsinca(double* sample,int size,double* oup);
+void zsinca(doubleComplex* sample,int size,doubleComplex* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINC_H__ */
diff --git a/src/c/elementaryFunctions/includes/sind.h b/src/c/elementaryFunctions/includes/sind.h
new file mode 100644
index 00000000..d98bd683
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sind.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - 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 __SIND_H__
+#define __SIND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dsinds(double x);
+float ssinds(float x);
+void dsinda(double* x, int size, double* y);
+void ssinda(float* x, int size, double* y);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__SIND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/sinh.h b/src/c/elementaryFunctions/includes/sinh.h
index c052a901..c464fce0 100644
--- a/src/c/elementaryFunctions/includes/sinh.h
+++ b/src/c/elementaryFunctions/includes/sinh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -48,6 +49,31 @@ EXTERN_ELEMFUNCT floatComplex csinhs(floatComplex in);
*/
EXTERN_ELEMFUNCT doubleComplex zsinhs(doubleComplex in);
+
+/*
+** \brief Uint8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8sinhs(uint8 in);
+
+/*
+** \brief Int8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8sinhs(int8 in);
+
+/*
+** \brief Uint16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16sinhs(uint16 in);
+
+/*
+** \brief Int16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16sinhs(int16 in);
+
/*
** \brief Float Matrix Sine function
** \param in : input array value.
@@ -80,6 +106,39 @@ EXTERN_ELEMFUNCT void csinha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsinha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8sinha(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8sinha(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16sinha(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16sinha(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sqrt.h b/src/c/elementaryFunctions/includes/sqrt.h
index 7885c9c2..df11b20e 100644
--- a/src/c/elementaryFunctions/includes/sqrt.h
+++ b/src/c/elementaryFunctions/includes/sqrt.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -48,13 +49,14 @@ EXTERN_ELEMFUNCT floatComplex csqrts(floatComplex in);
*/
EXTERN_ELEMFUNCT doubleComplex zsqrts(doubleComplex in);
+
/*
** \brief Float Matrix Square Root function
** \param in : input array value.
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void ssqrta(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void ssqrta(float* in, int size, float* out);
/*
** \brief Double Matrix Square Root function
@@ -80,6 +82,10 @@ EXTERN_ELEMFUNCT void csqrta(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsqrta(doubleComplex* in, int size, doubleComplex* out);
+
+
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/tan.h b/src/c/elementaryFunctions/includes/tan.h
index 77ef7868..2632a779 100644
--- a/src/c/elementaryFunctions/includes/tan.h
+++ b/src/c/elementaryFunctions/includes/tan.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,31 @@ EXTERN_ELEMFUNCT floatComplex ctans(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex ztans(doubleComplex in);
/*
+** \brief Uint8 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8tans(uint8 in);
+
+/*
+** \brief Int8 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8tans(int8 in);
+
+/*
+** \brief Uint16 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16tans(uint16 in);
+
+/*
+** \brief Int16 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16tans(int16 in);
+
+
+/*
** \brief Float Matrix Tangeant function
** \param in : input array value.
** \param out : input array value.
@@ -80,6 +106,39 @@ EXTERN_ELEMFUNCT void ctana(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void ztana(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8tana(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8tana(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16tana(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16tana(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/tand (copy).h b/src/c/elementaryFunctions/includes/tand (copy).h
new file mode 100644
index 00000000..918d43ab
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/tand (copy).h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - 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 __TAND_H__
+#define __TAND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+double dtands(double x);
+float stands(float x);
+void dtanda(double* x, int size, double* y);
+void standa(float* x, int size, double* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__TAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/tand.h b/src/c/elementaryFunctions/includes/tand.h
new file mode 100644
index 00000000..918d43ab
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/tand.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - 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 __TAND_H__
+#define __TAND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+double dtands(double x);
+float stands(float x);
+void dtanda(double* x, int size, double* y);
+void standa(float* x, int size, double* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__TAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/tanh.h b/src/c/elementaryFunctions/includes/tanh.h
index 9ff440cf..6a654230 100644
--- a/src/c/elementaryFunctions/includes/tanh.h
+++ b/src/c/elementaryFunctions/includes/tanh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "sinh.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,30 @@ EXTERN_ELEMFUNCT floatComplex ctanhs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex ztanhs(doubleComplex in);
/*
+** \brief Uint8 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8tanhs(uint8 in);
+
+/*
+** \brief Int8 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8tanhs(int8 in);
+
+/*
+** \brief Uint16 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16tanhs(uint16 in);
+
+/*
+** \brief Int16 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16tanhs(int16 in);
+
+/*
** \brief Float Matrix Hyperbolic Tangeant function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +105,38 @@ EXTERN_ELEMFUNCT void ctanha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void ztanha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8tanha(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8tanha(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16tanha(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16tanha(int16* in, int size, float* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/uint16.h b/src/c/elementaryFunctions/includes/uint16.h
new file mode 100644
index 00000000..9e162130
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint16.h
@@ -0,0 +1,54 @@
+/* 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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT16_H__
+#define __UINT16_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint16(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint16 suint16s(float in);
+
+EXTERN_ELEMFUNCT uint16 duint16s(double in);
+
+EXTERN_ELEMFUNCT uint16 u8uint16s(uint8 in);
+
+EXTERN_ELEMFUNCT uint16 i8uint16s(int8 in);
+
+EXTERN_ELEMFUNCT uint16 i16uint16s(int16 in);
+
+EXTERN_ELEMFUNCT void suint16a(float* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void duint16a(double* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void u8uint16a(uint8* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i8uint16a(int8* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16uint16a(int16* in, int size, uint16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT16_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/uint32.h b/src/c/elementaryFunctions/includes/uint32.h
new file mode 100644
index 00000000..b90247bc
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT32_H__
+#define __UINT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint32(X) returns the unsigned int part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint32 suint32s(float in);
+
+EXTERN_ELEMFUNCT uint32 duint32s(double in);
+
+EXTERN_ELEMFUNCT uint32 u8uint32s(uint8 in);
+
+EXTERN_ELEMFUNCT uint32 i8uint32s(int8 in);
+
+EXTERN_ELEMFUNCT uint32 u16uint32s(uint16 in);
+
+EXTERN_ELEMFUNCT uint32 i16uint32s(int16 in);
+
+EXTERN_ELEMFUNCT uint32 i32uint32s(int32 in);
+
+EXTERN_ELEMFUNCT void suint32a(float* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void duint32a(double* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u8uint32a(uint8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i8uint32a(int8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u16uint32a(uint16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i16uint32a(int16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i32uint32a(int32* in, int size, uint32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT32_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/uint8.h b/src/c/elementaryFunctions/includes/uint8.h
new file mode 100644
index 00000000..63071c4a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint8.h
@@ -0,0 +1,54 @@
+/* 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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT8_H__
+#define __UINT8_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint8(X) returns the unsigned char part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint8 suint8s(float in);
+
+EXTERN_ELEMFUNCT uint8 duint8s(double in);
+
+EXTERN_ELEMFUNCT uint8 i8uint8s(int8 in);
+
+EXTERN_ELEMFUNCT uint8 u16uint8s(uint16 in);
+
+EXTERN_ELEMFUNCT uint8 i16uint8s(int16 in);
+
+EXTERN_ELEMFUNCT void suint8a(float* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void duint8a(double* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8uint8a(int8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void u16uint8a(uint16* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i16uint8a(int16* in, int size, uint8* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT8_H__ */
+