summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/includes
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions/includes')
-rw-r--r--src/elementaryFunctions/includes/acos.h17
-rw-r--r--src/elementaryFunctions/includes/acosh.h17
-rw-r--r--src/elementaryFunctions/includes/asin.h17
-rw-r--r--src/elementaryFunctions/includes/asinh.h17
-rw-r--r--src/elementaryFunctions/includes/atan.h17
-rw-r--r--src/elementaryFunctions/includes/atan2.h9
-rw-r--r--src/elementaryFunctions/includes/atanh.h17
-rw-r--r--src/elementaryFunctions/includes/ceil.h17
-rw-r--r--src/elementaryFunctions/includes/cos.h17
-rw-r--r--src/elementaryFunctions/includes/cosh.h17
-rw-r--r--src/elementaryFunctions/includes/dynlib_elementaryfunctions.h26
-rw-r--r--src/elementaryFunctions/includes/exp.h17
-rw-r--r--src/elementaryFunctions/includes/exp10.h17
-rw-r--r--src/elementaryFunctions/includes/fix.h17
-rw-r--r--src/elementaryFunctions/includes/floor.h17
-rw-r--r--src/elementaryFunctions/includes/int.h17
-rw-r--r--src/elementaryFunctions/includes/lnp1m1.h5
-rw-r--r--src/elementaryFunctions/includes/log.h17
-rw-r--r--src/elementaryFunctions/includes/log10.h17
-rw-r--r--src/elementaryFunctions/includes/log1p.h17
-rw-r--r--src/elementaryFunctions/includes/pow.h17
-rw-r--r--src/elementaryFunctions/includes/round.h17
-rw-r--r--src/elementaryFunctions/includes/sin.h17
-rw-r--r--src/elementaryFunctions/includes/sinh.h17
-rw-r--r--src/elementaryFunctions/includes/sqrt.h17
-rw-r--r--src/elementaryFunctions/includes/tan.h17
-rw-r--r--src/elementaryFunctions/includes/tanh.h17
27 files changed, 250 insertions, 198 deletions
diff --git a/src/elementaryFunctions/includes/acos.h b/src/elementaryFunctions/includes/acos.h
index 39787cd2..ab8baf0e 100644
--- a/src/elementaryFunctions/includes/acos.h
+++ b/src/elementaryFunctions/includes/acos.h
@@ -13,6 +13,7 @@
#ifndef __ACOS_H__
#define __ACOS_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float ArcCosine function
** \param in : input array value.
*/
-float sacoss(float in);
+EXTERN_ELEMFUNCT float sacoss(float in);
/*
** \brief Double ArcCosine function
** \param in : input array value.
*/
-double dacoss(double in);
+EXTERN_ELEMFUNCT double dacoss(double in);
/*
** \brief Float Complex ArcCosine function
** \param in : input array value.
*/
-floatComplex cacoss(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cacoss(floatComplex in);
/*
** \brief Double Complex ArcCosine function
** \param in : input array value.
*/
-doubleComplex zacoss(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zacoss(doubleComplex in);
/*
** \brief Float Matrix ArcCosine function
@@ -50,7 +51,7 @@ doubleComplex zacoss(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sacosa(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sacosa(float* in, int size, float* out);
/*
** \brief Double Matrix ArcCosine function
@@ -58,7 +59,7 @@ void sacosa(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dacosa(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dacosa(double* in, int size, double* out);
/*
** \brief Float Complex Matrix ArcCosine function
@@ -66,7 +67,7 @@ void dacosa(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void cacosa(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cacosa(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix ArcCosine function
@@ -74,6 +75,6 @@ void cacosa(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zacosa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zacosa(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ACOS_H__ */
diff --git a/src/elementaryFunctions/includes/acosh.h b/src/elementaryFunctions/includes/acosh.h
index 2f089bd2..4492b35d 100644
--- a/src/elementaryFunctions/includes/acosh.h
+++ b/src/elementaryFunctions/includes/acosh.h
@@ -13,6 +13,7 @@
#ifndef __ACOSH_H__
#define __ACOSH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Hyperbolic ArcCosine function
** \param in : input array value.
*/
-float sacoshs(float in);
+EXTERN_ELEMFUNCT float sacoshs(float in);
/*
** \brief Double Hyperbolic ArcCosine function
** \param in : input array value.
*/
-double dacoshs(double in);
+EXTERN_ELEMFUNCT double dacoshs(double in);
/*
** \brief Float Complex Hyperbolic ArcCosine function
** \param in : input array value.
*/
-floatComplex cacoshs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cacoshs(floatComplex in);
/*
** \brief Double Complex Hyperbolic ArcCosine function
** \param in : input array value.
*/
-doubleComplex zacoshs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zacoshs(doubleComplex in);
/*
** \brief Float Matrix Hyperbolic ArcCosine function
@@ -50,7 +51,7 @@ doubleComplex zacoshs(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sacosha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sacosha(float* in, int size, float* out);
/*
** \brief Double Matrix Hyperbolic ArcCosine function
@@ -58,7 +59,7 @@ void sacosha(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dacosha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dacosha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Hyperbolic ArcCosine function
@@ -66,7 +67,7 @@ void dacosha(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void cacosha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cacosha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Hyperbolic ArcCosine function
@@ -74,6 +75,6 @@ void cacosha(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zacosha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zacosha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ACOSH_H__ */
diff --git a/src/elementaryFunctions/includes/asin.h b/src/elementaryFunctions/includes/asin.h
index 1b0b9a74..ebaaf434 100644
--- a/src/elementaryFunctions/includes/asin.h
+++ b/src/elementaryFunctions/includes/asin.h
@@ -13,6 +13,7 @@
#ifndef __ASIN_H__
#define __ASIN_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float ArcSine function
** \param in : input value.
*/
-float sasins(float in);
+EXTERN_ELEMFUNCT float sasins(float in);
/*
** \brief Double ArcSine function
** \param in : input value.
*/
-double dasins(double in);
+EXTERN_ELEMFUNCT double dasins(double in);
/*
** \brief Float Complex ArcSine function
** \param in : input value.
*/
-floatComplex casins(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex casins(floatComplex in);
/*
** \brief Double Complex ArcSine function
** \param in : input value.
*/
-doubleComplex zasins(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zasins(doubleComplex in);
/*
** \brief Float Matrix ArcSine function
@@ -50,7 +51,7 @@ doubleComplex zasins(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sasina(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sasina(float* in, int size, float* out);
/*
** \brief Double Matrix ArcSine function
@@ -58,7 +59,7 @@ void sasina(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dasina(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dasina(double* in, int size, double* out);
/*
** \brief Float Complex Matrix ArcSine function
@@ -66,7 +67,7 @@ void dasina(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void casina(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void casina(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix ArcSine function
@@ -74,6 +75,6 @@ void casina(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zasina(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zasina(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ASIN_H__ */
diff --git a/src/elementaryFunctions/includes/asinh.h b/src/elementaryFunctions/includes/asinh.h
index f7cd2b5b..7f4ec287 100644
--- a/src/elementaryFunctions/includes/asinh.h
+++ b/src/elementaryFunctions/includes/asinh.h
@@ -13,6 +13,7 @@
#ifndef __ASINH_H__
#define __ASINH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Hyperbolic ArcSine function
** \param in : input value.
*/
-float sasinhs(float in);
+EXTERN_ELEMFUNCT float sasinhs(float in);
/*
** \brief Double Hyperbolic ArcSine function
** \param in : input value.
*/
-double dasinhs(double in);
+EXTERN_ELEMFUNCT double dasinhs(double in);
/*
** \brief Float Complex Hyperbolic ArcSine function
** \param in : input value.
*/
-floatComplex casinhs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex casinhs(floatComplex in);
/*
** \brief Double Complex Hyperbolic ArcSine function
** \param in : input value.
*/
-doubleComplex zasinhs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zasinhs(doubleComplex in);
/*
** \brief Float Matrix Hyperbolic ArcSine function
@@ -50,7 +51,7 @@ doubleComplex zasinhs(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sasinha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sasinha(float* in, int size, float* out);
/*
** \brief Double Matrix Hyperbolic ArcSine function
@@ -58,7 +59,7 @@ void sasinha(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dasinha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dasinha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Hyperbolic ArcSine function
@@ -66,7 +67,7 @@ void dasinha(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void casinha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void casinha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Hyperbolic ArcSine function
@@ -74,6 +75,6 @@ void casinha(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zasinha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zasinha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ASINH_H__ */
diff --git a/src/elementaryFunctions/includes/atan.h b/src/elementaryFunctions/includes/atan.h
index 05b853bb..34992119 100644
--- a/src/elementaryFunctions/includes/atan.h
+++ b/src/elementaryFunctions/includes/atan.h
@@ -13,6 +13,7 @@
#ifndef __ATAN_H__
#define __ATAN_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float ArcTangeant function
** \param in : input value.
*/
-float satans(float in);
+EXTERN_ELEMFUNCT float satans(float in);
/*
** \brief Double ArcTangeant function
** \param in : input value.
*/
-double datans(double in);
+EXTERN_ELEMFUNCT double datans(double in);
/*
** \brief Float Complex ArcTangeant function
** \param in : input value.
*/
-floatComplex catans(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex catans(floatComplex in);
/*
** \brief Double Complex ArcTangeant function
** \param in : input value.
*/
-doubleComplex zatans(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zatans(doubleComplex in);
/*
** \brief Float Matrix ArcTangeant function
@@ -50,7 +51,7 @@ doubleComplex zatans(doubleComplex in);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void satana(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void satana(float* in, int size, float* out);
/*
** \brief Double Matrix ArcTangeant function
@@ -58,7 +59,7 @@ void satana(float* in, int size, float* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void datana(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void datana(double* in, int size, double* out);
/*
** \brief Float Complex Matrix ArcTangeant function
@@ -66,7 +67,7 @@ void datana(double* in, int size, double* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void catana(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void catana(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix ArcTangeant function
@@ -74,6 +75,6 @@ void catana(floatComplex* in, int size, floatComplex* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void zatana(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zatana(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ATAN_H__ */
diff --git a/src/elementaryFunctions/includes/atan2.h b/src/elementaryFunctions/includes/atan2.h
index e746a915..2915fb2c 100644
--- a/src/elementaryFunctions/includes/atan2.h
+++ b/src/elementaryFunctions/includes/atan2.h
@@ -13,6 +13,7 @@
#ifndef __ATAN2_H__
#define __ATAN2_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
#include <math.h>
@@ -24,23 +25,23 @@
/*
** \brief Float arc tangent function
*/
-float satan2s ( float x , float y );
+EXTERN_ELEMFUNCT float satan2s ( float x , float y );
/*
** \brief Double arc tangent function
*/
-double datan2s ( double x , double y);
+EXTERN_ELEMFUNCT double datan2s ( double x , double y);
/*
** \brief array's Float arc tangent function
*/
-void satan2a (float* in1, int size1, float* in2, int size2, float* out) ;
+EXTERN_ELEMFUNCT void satan2a (float* in1, int size1, float* in2, int size2, float* out) ;
/*
** \brief array's Double arc tangent function
*/
-void datan2a (double* in1, int size1, double* in2, int size2, double* out) ;
+EXTERN_ELEMFUNCT void datan2a (double* in1, int size1, double* in2, int size2, double* out) ;
diff --git a/src/elementaryFunctions/includes/atanh.h b/src/elementaryFunctions/includes/atanh.h
index 9669fbe9..12a4c487 100644
--- a/src/elementaryFunctions/includes/atanh.h
+++ b/src/elementaryFunctions/includes/atanh.h
@@ -13,6 +13,7 @@
#ifndef __ATANH_H__
#define __ATANH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Hyperbolic ArcTangeant function
** \param in : input value.
*/
-float satanhs(float in);
+EXTERN_ELEMFUNCT float satanhs(float in);
/*
** \brief Double Hyperbolic ArcTangeant function
** \param in : input value.
*/
-double datanhs(double in);
+EXTERN_ELEMFUNCT double datanhs(double in);
/*
** \brief Float Complex Hyperbolic ArcTangeant function
** \param in : input value.
*/
-floatComplex catanhs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex catanhs(floatComplex in);
/*
** \brief Double Complex Hyperbolic ArcTangeant function
** \param in : input value.
*/
-doubleComplex zatanhs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zatanhs(doubleComplex in);
/*
** \brief Float Matrix Hyperbolic ArcTangeant function
@@ -50,7 +51,7 @@ doubleComplex zatanhs(doubleComplex in);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void satanha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void satanha(float* in, int size, float* out);
/*
** \brief Double Matrix Hyperbolic ArcTangeant function
@@ -58,7 +59,7 @@ void satanha(float* in, int size, float* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void datanha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void datanha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Hyperbolic ArcTangeant function
@@ -66,7 +67,7 @@ void datanha(double* in, int size, double* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void catanha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void catanha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Hyperbolic ArcTangeant function
@@ -74,7 +75,7 @@ void catanha(floatComplex* in, int size, floatComplex* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void zatanha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zatanha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ATANH_H__ */
diff --git a/src/elementaryFunctions/includes/ceil.h b/src/elementaryFunctions/includes/ceil.h
index 4e64f26e..1a0fb5c9 100644
--- a/src/elementaryFunctions/includes/ceil.h
+++ b/src/elementaryFunctions/includes/ceil.h
@@ -13,6 +13,7 @@
#ifndef __CEIL_H__
#define __CEIL_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -20,21 +21,21 @@
ceil(x) returns an integer matrix made of rounded up elements
*/
-float sceils(float in);
+EXTERN_ELEMFUNCT float sceils(float in);
-double dceils(double in);
+EXTERN_ELEMFUNCT double dceils(double in);
-floatComplex cceils(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cceils(floatComplex in);
-doubleComplex zceils(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zceils(doubleComplex in);
-void sceila(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sceila(float* in, int size, float* out);
-void dceila(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dceila(double* in, int size, double* out);
-void cceila(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cceila(floatComplex* in, int size, floatComplex* out);
-void zceila(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zceila(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__CEIL_H__ */
diff --git a/src/elementaryFunctions/includes/cos.h b/src/elementaryFunctions/includes/cos.h
index 546ca5c8..65f85e33 100644
--- a/src/elementaryFunctions/includes/cos.h
+++ b/src/elementaryFunctions/includes/cos.h
@@ -13,6 +13,7 @@
#ifndef __COS_H__
#define __COS_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Cosine function
** \param in : input value.
*/
-float scoss(float in);
+EXTERN_ELEMFUNCT float scoss(float in);
/*
** \brief Double Cosine function
** \param in : input value.
*/
-double dcoss(double in);
+EXTERN_ELEMFUNCT double dcoss(double in);
/*
** \brief Float Complex Cosine function
** \param in : input value.
*/
-floatComplex ccoss(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex ccoss(floatComplex in);
/*
** \brief Double Complex Cosine function
** \param in : input value.
*/
-doubleComplex zcoss(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zcoss(doubleComplex in);
/*
** \brief Float Matrix Cosine function
@@ -50,7 +51,7 @@ doubleComplex zcoss(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void scosa(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void scosa(float* in, int size, float* out);
/*
** \brief Double Matrix Cosine function
@@ -58,7 +59,7 @@ void scosa(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dcosa(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dcosa(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Cosine function
@@ -66,7 +67,7 @@ void dcosa(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ccosa(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void ccosa(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Cosine function
@@ -74,6 +75,6 @@ void ccosa(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zcosa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zcosa(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__COS_H__ */
diff --git a/src/elementaryFunctions/includes/cosh.h b/src/elementaryFunctions/includes/cosh.h
index 1f46136c..97d6d5e0 100644
--- a/src/elementaryFunctions/includes/cosh.h
+++ b/src/elementaryFunctions/includes/cosh.h
@@ -13,6 +13,7 @@
#ifndef __COSH_H__
#define __COSH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Cosine function
** \param in : input value.
*/
-float scoshs(float in);
+EXTERN_ELEMFUNCT float scoshs(float in);
/*
** \brief Double Cosine function
** \param in : input value.
*/
-double dcoshs(double in);
+EXTERN_ELEMFUNCT double dcoshs(double in);
/*
** \brief Float Complex Cosine function
** \param in : input value.
*/
-floatComplex ccoshs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex ccoshs(floatComplex in);
/*
** \brief Double Complex Cosine function
** \param in : input value.
*/
-doubleComplex zcoshs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zcoshs(doubleComplex in);
/*
** \brief Float Matrix Cosine function
@@ -50,7 +51,7 @@ doubleComplex zcoshs(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void scosha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void scosha(float* in, int size, float* out);
/*
** \brief Double Matrix Cosine function
@@ -58,7 +59,7 @@ void scosha(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dcosha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dcosha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Cosine function
@@ -66,7 +67,7 @@ void dcosha(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ccosha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void ccosha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Cosine function
@@ -74,7 +75,7 @@ void ccosha(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zcosha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zcosha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__COSH_H__ */
diff --git a/src/elementaryFunctions/includes/dynlib_elementaryfunctions.h b/src/elementaryFunctions/includes/dynlib_elementaryfunctions.h
new file mode 100644
index 00000000..d91da87e
--- /dev/null
+++ b/src/elementaryFunctions/includes/dynlib_elementaryfunctions.h
@@ -0,0 +1,26 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* 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 __DYNLIB_ELEMENTARYFUNCTIONS_H__
+#define __DYNLIB_ELEMENTARYFUNCTIONS_H__
+
+#ifdef _MSC_VER
+ #if ELEMENTARYFUNCTIONS_EXPORTS
+ #define EXTERN_ELEMFUNCT __declspec (dllexport)
+ #else
+ #define EXTERN_ELEMFUNCT __declspec (dllimport)
+ #endif
+#else
+ #define EXTERN_ELEMFUNCT
+#endif
+
+#endif /* __DYNLIB_ELEMENTARYFUNCTIONS_H__ */ \ No newline at end of file
diff --git a/src/elementaryFunctions/includes/exp.h b/src/elementaryFunctions/includes/exp.h
index f515d06e..25b13141 100644
--- a/src/elementaryFunctions/includes/exp.h
+++ b/src/elementaryFunctions/includes/exp.h
@@ -13,6 +13,7 @@
#ifndef __EXP_H__
#define __EXP_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Exponential function
** \param in : input value.
*/
-float sexps(float in);
+EXTERN_ELEMFUNCT float sexps(float in);
/*
** \brief Double Exponential function
** \param in : input value.
*/
-double dexps(double in);
+EXTERN_ELEMFUNCT double dexps(double in);
/*
** \brief Float Complex Exponential function
** \param in : input value.
*/
-floatComplex cexps(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cexps(floatComplex in);
/*
** \brief Double Complex Exponential function
** \param in : input value.
*/
-doubleComplex zexps(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zexps(doubleComplex in);
/*
** \brief Float Matrix Exponential function
@@ -50,7 +51,7 @@ doubleComplex zexps(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sexpa(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sexpa(float* in, int size, float* out);
/*
** \brief Double Matrix Exponential function
@@ -58,7 +59,7 @@ void sexpa(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dexpa(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dexpa(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Exponential function
@@ -66,7 +67,7 @@ void dexpa(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void cexpa(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cexpa(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Exponential function
@@ -74,7 +75,7 @@ void cexpa(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zexpa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zexpa(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__EXP_H__ */
diff --git a/src/elementaryFunctions/includes/exp10.h b/src/elementaryFunctions/includes/exp10.h
index 949a49dd..7d50871f 100644
--- a/src/elementaryFunctions/includes/exp10.h
+++ b/src/elementaryFunctions/includes/exp10.h
@@ -13,6 +13,7 @@
#ifndef __EXP10_H__
#define __EXP10_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float 10 based Exponential function
** \param in : input value.
*/
-float sexp10s(float in);
+EXTERN_ELEMFUNCT float sexp10s(float in);
/*
** \brief Double Exp10onential function
** \param in : input value.
*/
-double dexp10s(double in);
+EXTERN_ELEMFUNCT double dexp10s(double in);
/*
** \brief Float Complex 10 based Exponential function
** \param in : input value.
*/
-floatComplex cexp10s(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cexp10s(floatComplex in);
/*
** \brief Double Complex 10 based Exponential function
** \param in : input value.
*/
-doubleComplex zexp10s(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zexp10s(doubleComplex in);
/*
** \brief Float Matrix 10 based Exponential function
@@ -50,7 +51,7 @@ doubleComplex zexp10s(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sexp10a(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sexp10a(float* in, int size, float* out);
/*
** \brief Double Matrix 10 based Exponential function
@@ -58,7 +59,7 @@ void sexp10a(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dexp10a(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dexp10a(double* in, int size, double* out);
/*
** \brief Float Complex Matrix 10 based Exponential function
@@ -66,7 +67,7 @@ void dexp10a(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void cexp10a(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cexp10a(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix 10 based Exponential function
@@ -74,7 +75,7 @@ void cexp10a(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zexp10a(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zexp10a(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__EXP10_H__ */
diff --git a/src/elementaryFunctions/includes/fix.h b/src/elementaryFunctions/includes/fix.h
index db4c8ca6..7c5bb20a 100644
--- a/src/elementaryFunctions/includes/fix.h
+++ b/src/elementaryFunctions/includes/fix.h
@@ -13,6 +13,7 @@
#ifndef __FIX_H__
#define __FIX_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -23,21 +24,21 @@
else y=ceil(x)
*/
-float sfixs(float in);
+EXTERN_ELEMFUNCT float sfixs(float in);
-double dfixs(double in);
+EXTERN_ELEMFUNCT double dfixs(double in);
-floatComplex cfixs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cfixs(floatComplex in);
-doubleComplex zfixs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zfixs(doubleComplex in);
-void sfixa(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sfixa(float* in, int size, float* out);
-void dfixa(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dfixa(double* in, int size, double* out);
-void cfixa(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cfixa(floatComplex* in, int size, floatComplex* out);
-void zfixa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zfixa(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__FIX_H__ */
diff --git a/src/elementaryFunctions/includes/floor.h b/src/elementaryFunctions/includes/floor.h
index d33d2370..a3de3717 100644
--- a/src/elementaryFunctions/includes/floor.h
+++ b/src/elementaryFunctions/includes/floor.h
@@ -13,6 +13,7 @@
#ifndef __FLOOR_H__
#define __FLOOR_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -20,21 +21,21 @@
floor(x) returns an integer matrix made of nearest rounded down integers.
*/
-float sfloors(float in);
+EXTERN_ELEMFUNCT float sfloors(float in);
-double dfloors(double in);
+EXTERN_ELEMFUNCT double dfloors(double in);
-floatComplex cfloors(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cfloors(floatComplex in);
-doubleComplex zfloors(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zfloors(doubleComplex in);
-void sfloora(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sfloora(float* in, int size, float* out);
-void dfloora(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dfloora(double* in, int size, double* out);
-void cfloora(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cfloora(floatComplex* in, int size, floatComplex* out);
-void zfloora(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zfloora(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__FLOOR_H__ */
diff --git a/src/elementaryFunctions/includes/int.h b/src/elementaryFunctions/includes/int.h
index 9ac461a7..6614fcfe 100644
--- a/src/elementaryFunctions/includes/int.h
+++ b/src/elementaryFunctions/includes/int.h
@@ -13,6 +13,7 @@
#ifndef __INT_H__
#define __INT_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -20,21 +21,21 @@
int(X) returns the integer part of the real matrix X. Same as fix.
*/
-float sints(float in);
+EXTERN_ELEMFUNCT float sints(float in);
-double dints(double in);
+EXTERN_ELEMFUNCT double dints(double in);
-floatComplex cints(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex cints(floatComplex in);
-doubleComplex zints(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zints(doubleComplex in);
-void sinta(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sinta(float* in, int size, float* out);
-void dinta(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dinta(double* in, int size, double* out);
-void cinta(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cinta(floatComplex* in, int size, floatComplex* out);
-void zinta(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zinta(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__INT_H__ */
diff --git a/src/elementaryFunctions/includes/lnp1m1.h b/src/elementaryFunctions/includes/lnp1m1.h
index 4aae3cbf..c05257eb 100644
--- a/src/elementaryFunctions/includes/lnp1m1.h
+++ b/src/elementaryFunctions/includes/lnp1m1.h
@@ -13,6 +13,7 @@
#ifndef __LNP1M1_H__
#define __LNP1M1_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,13 +25,13 @@
** \brief Float Lnp1m1 function
** \param in : input value.
*/
-float slnp1m1s(float in);
+EXTERN_ELEMFUNCT float slnp1m1s(float in);
/*
** \brief Double Lnp1m1 function
** \param in : input value.
*/
-double dlnp1m1s(double in);
+EXTERN_ELEMFUNCT double dlnp1m1s(double in);
#endif /* !__LNP1M1_H__ */
diff --git a/src/elementaryFunctions/includes/log.h b/src/elementaryFunctions/includes/log.h
index ee41ea3c..890f8eca 100644
--- a/src/elementaryFunctions/includes/log.h
+++ b/src/elementaryFunctions/includes/log.h
@@ -13,6 +13,7 @@
#ifndef __LOG_H__
#define __LOG_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Logarithm function
** \param in : input value.
*/
-float slogs(float in);
+EXTERN_ELEMFUNCT float slogs(float in);
/*
** \brief Double Logarithm function
** \param in : input value.
*/
-double dlogs(double in);
+EXTERN_ELEMFUNCT double dlogs(double in);
/*
** \brief Float Complex Logarithm function
** \param in : input value.
*/
-floatComplex clogs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex clogs(floatComplex in);
/*
** \brief Double Complex Logarithm function
** \param in : input value.
*/
-doubleComplex zlogs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zlogs(doubleComplex in);
/*
** \brief Float Matrix Logarithm function
@@ -50,7 +51,7 @@ doubleComplex zlogs(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void sloga(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void sloga(float* in, int size, float* out);
/*
** \brief Double Matrix Logarithm function
@@ -58,7 +59,7 @@ void sloga(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dloga(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dloga(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Logarithm function
@@ -66,7 +67,7 @@ void dloga(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void cloga(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void cloga(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Logarithm function
@@ -74,7 +75,7 @@ void cloga(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zloga(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zloga(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__LOG_H__ */
diff --git a/src/elementaryFunctions/includes/log10.h b/src/elementaryFunctions/includes/log10.h
index a68810a9..89324179 100644
--- a/src/elementaryFunctions/includes/log10.h
+++ b/src/elementaryFunctions/includes/log10.h
@@ -13,6 +13,7 @@
#ifndef __LOG10_H__
#define __LOG10_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Ten based Logarithm function
** \param in : input value.
*/
-float slog10s(float in);
+EXTERN_ELEMFUNCT float slog10s(float in);
/*
** \brief Double Ten based Logarithm function
** \param in : input value.
*/
-double dlog10s(double in);
+EXTERN_ELEMFUNCT double dlog10s(double in);
/*
** \brief Float Complex Ten based Logarithm function
** \param in : input value.
*/
-floatComplex clog10s(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex clog10s(floatComplex in);
/*
** \brief Double Complex Ten based Logarithm function
** \param in : input value.
*/
-doubleComplex zlog10s(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zlog10s(doubleComplex in);
/*
** \brief Float Matrix Ten based Logarithm function
@@ -50,7 +51,7 @@ doubleComplex zlog10s(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void slog10a(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void slog10a(float* in, int size, float* out);
/*
** \brief Double Matrix Ten based Logarithm function
@@ -58,7 +59,7 @@ void slog10a(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dlog10a(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dlog10a(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Ten based Logarithm function
@@ -66,7 +67,7 @@ void dlog10a(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void clog10a(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void clog10a(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Ten based Logarithm function
@@ -74,7 +75,7 @@ void clog10a(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zlog10a(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zlog10a(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__LOG10_H__ */
diff --git a/src/elementaryFunctions/includes/log1p.h b/src/elementaryFunctions/includes/log1p.h
index b9ba8acd..82ba3008 100644
--- a/src/elementaryFunctions/includes/log1p.h
+++ b/src/elementaryFunctions/includes/log1p.h
@@ -13,6 +13,7 @@
#ifndef __LOG1P_H__
#define __LOG1P_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Logarithm function
** \param in : input value.
*/
-float slog1ps(float in);
+EXTERN_ELEMFUNCT float slog1ps(float in);
/*
** \brief Double Logarithm function
** \param in : input value.
*/
-double dlog1ps(double in);
+EXTERN_ELEMFUNCT double dlog1ps(double in);
/*
** \brief Float Complex Logarithm function
** \param in : input value.
*/
-floatComplex clog1ps(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex clog1ps(floatComplex in);
/*
** \brief Double Complex Logarithm function
** \param in : input value.
*/
-doubleComplex zlog1ps(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zlog1ps(doubleComplex in);
/*
** \brief Float Matrix Logarithm function
@@ -50,7 +51,7 @@ doubleComplex zlog1ps(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void slog1pa(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void slog1pa(float* in, int size, float* out);
/*
** \brief Double Matrix Logarithm function
@@ -58,7 +59,7 @@ void slog1pa(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dlog1pa(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dlog1pa(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Logarithm function
@@ -66,7 +67,7 @@ void dlog1pa(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void clog1pa(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void clog1pa(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Logarithm function
@@ -74,7 +75,7 @@ void clog1pa(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zlog1pa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zlog1pa(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__LOG1P_H__ */
diff --git a/src/elementaryFunctions/includes/pow.h b/src/elementaryFunctions/includes/pow.h
index ea32d962..f1d3191f 100644
--- a/src/elementaryFunctions/includes/pow.h
+++ b/src/elementaryFunctions/includes/pow.h
@@ -13,22 +13,23 @@
#ifndef __POW_H__
#define __POW_H__
+#include "dynlib_elementaryfunctions.h"
#include "multiplication.h"
-float spows(float value, float expand);
+EXTERN_ELEMFUNCT float spows(float value, float expand);
-double dpows(double value, double expand);
+EXTERN_ELEMFUNCT double dpows(double value, double expand);
-floatComplex cpows(floatComplex value, floatComplex expand);
+EXTERN_ELEMFUNCT floatComplex cpows(floatComplex value, floatComplex expand);
-doubleComplex zpows(doubleComplex value, doubleComplex expand);
+EXTERN_ELEMFUNCT doubleComplex zpows(doubleComplex value, doubleComplex expand);
-void spowa(float *value, int size, float* expand, float *out);
+EXTERN_ELEMFUNCT void spowa(float *value, int size, float* expand, float *out);
-void dpowa(double *value, int size, double* expand, double *out);
+EXTERN_ELEMFUNCT void dpowa(double *value, int size, double* expand, double *out);
-void cpowa(floatComplex *value, int size, floatComplex* expand, floatComplex *out);
+EXTERN_ELEMFUNCT void cpowa(floatComplex *value, int size, floatComplex* expand, floatComplex *out);
-void zpowa(doubleComplex *value, int size, doubleComplex* expand, doubleComplex *out);
+EXTERN_ELEMFUNCT void zpowa(doubleComplex *value, int size, doubleComplex* expand, doubleComplex *out);
#endif /* !__POW_H__ */
diff --git a/src/elementaryFunctions/includes/round.h b/src/elementaryFunctions/includes/round.h
index fd98c546..edb6ee62 100644
--- a/src/elementaryFunctions/includes/round.h
+++ b/src/elementaryFunctions/includes/round.h
@@ -13,6 +13,7 @@
#ifndef __ROUND_H__
#define __ROUND_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -20,21 +21,21 @@
round(x) rounds the elements of x to the nearest integers.
*/
-float srounds(float in);
+EXTERN_ELEMFUNCT float srounds(float in);
-double drounds(double in);
+EXTERN_ELEMFUNCT double drounds(double in);
-floatComplex crounds(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex crounds(floatComplex in);
-doubleComplex zrounds(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zrounds(doubleComplex in);
-void srounda(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void srounda(float* in, int size, float* out);
-void drounda(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void drounda(double* in, int size, double* out);
-void crounda(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void crounda(floatComplex* in, int size, floatComplex* out);
-void zrounda(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zrounda(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__ROUND_H__ */
diff --git a/src/elementaryFunctions/includes/sin.h b/src/elementaryFunctions/includes/sin.h
index 023bd2e6..c0d48ae3 100644
--- a/src/elementaryFunctions/includes/sin.h
+++ b/src/elementaryFunctions/includes/sin.h
@@ -13,6 +13,7 @@
#ifndef __SIN_H__
#define __SIN_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Sine function
** \param in : input value.
*/
-float ssins(float in);
+EXTERN_ELEMFUNCT float ssins(float in);
/*
** \brief Double Sine function
** \param in : input value.
*/
-double dsins(double in);
+EXTERN_ELEMFUNCT double dsins(double in);
/*
** \brief Float Complex Sine function
** \param in : input value.
*/
-floatComplex csins(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex csins(floatComplex in);
/*
** \brief Double Complex Sine function
** \param in : input value.
*/
-doubleComplex zsins(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zsins(doubleComplex in);
/*
** \brief Float Matrix Sine function
@@ -50,7 +51,7 @@ doubleComplex zsins(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ssina(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void ssina(float* in, int size, float* out);
/*
** \brief Double Matrix Sine function
@@ -58,7 +59,7 @@ void ssina(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dsina(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dsina(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Sine function
@@ -66,7 +67,7 @@ void dsina(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void csina(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void csina(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Sine function
@@ -74,7 +75,7 @@ void csina(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zsina(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zsina(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__SIN_H__ */
diff --git a/src/elementaryFunctions/includes/sinh.h b/src/elementaryFunctions/includes/sinh.h
index 105bf8d2..31eb1924 100644
--- a/src/elementaryFunctions/includes/sinh.h
+++ b/src/elementaryFunctions/includes/sinh.h
@@ -13,6 +13,7 @@
#ifndef __SINH_H__
#define __SINH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Sine function
** \param in : input value.
*/
-float ssinhs(float in);
+EXTERN_ELEMFUNCT float ssinhs(float in);
/*
** \brief Double Sine function
** \param in : input value.
*/
-double dsinhs(double in);
+EXTERN_ELEMFUNCT double dsinhs(double in);
/*
** \brief Float Complex Sine function
** \param in : input value.
*/
-floatComplex csinhs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex csinhs(floatComplex in);
/*
** \brief Double Complex Sine function
** \param in : input value.
*/
-doubleComplex zsinhs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zsinhs(doubleComplex in);
/*
** \brief Float Matrix Sine function
@@ -50,7 +51,7 @@ doubleComplex zsinhs(doubleComplex in);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void ssinha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void ssinha(float* in, int size, float* out);
/*
** \brief Double Matrix Sine function
@@ -58,7 +59,7 @@ void ssinha(float* in, int size, float* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void dsinha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dsinha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Sine function
@@ -66,7 +67,7 @@ void dsinha(double* in, int size, double* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void csinha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void csinha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Sine function
@@ -74,6 +75,6 @@ void csinha(floatComplex* in, int size, floatComplex* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void zsinha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zsinha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__SINH_H__ */
diff --git a/src/elementaryFunctions/includes/sqrt.h b/src/elementaryFunctions/includes/sqrt.h
index 7ae0a369..048b1a48 100644
--- a/src/elementaryFunctions/includes/sqrt.h
+++ b/src/elementaryFunctions/includes/sqrt.h
@@ -13,6 +13,7 @@
#ifndef __SQRT_H__
#define __SQRT_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Square Root function
** \param in : input value.
*/
-float ssqrts(float in);
+EXTERN_ELEMFUNCT float ssqrts(float in);
/*
** \brief Double Square Root function
** \param in : input value.
*/
-double dsqrts(double in);
+EXTERN_ELEMFUNCT double dsqrts(double in);
/*
** \brief Float Complex Square Root function
** \param in : input value.
*/
-floatComplex csqrts(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex csqrts(floatComplex in);
/*
** \brief Double Complex Square Root function
** \param in : input value.
*/
-doubleComplex zsqrts(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex zsqrts(doubleComplex in);
/*
** \brief Float Matrix Square Root function
@@ -50,7 +51,7 @@ doubleComplex zsqrts(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ssqrta(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void ssqrta(float* in, int size, float* out);
/*
** \brief Double Matrix Square Root function
@@ -58,7 +59,7 @@ void ssqrta(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dsqrta(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dsqrta(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Square Root function
@@ -66,7 +67,7 @@ void dsqrta(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void csqrta(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void csqrta(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Square Root function
@@ -74,6 +75,6 @@ void csqrta(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void zsqrta(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void zsqrta(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__SQRT_H__ */
diff --git a/src/elementaryFunctions/includes/tan.h b/src/elementaryFunctions/includes/tan.h
index b9be081e..6e3a434b 100644
--- a/src/elementaryFunctions/includes/tan.h
+++ b/src/elementaryFunctions/includes/tan.h
@@ -13,6 +13,7 @@
#ifndef __TAN_H__
#define __TAN_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Tangeant function
** \param in : input value.
*/
-float stans(float in);
+EXTERN_ELEMFUNCT float stans(float in);
/*
** \brief Double Tangeant function
** \param in : input value.
*/
-double dtans(double in);
+EXTERN_ELEMFUNCT double dtans(double in);
/*
** \brief Float Complex Tangeant function
** \param in : input value.
*/
-floatComplex ctans(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex ctans(floatComplex in);
/*
** \brief Double Complex Tangeant function
** \param in : input value.
*/
-doubleComplex ztans(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex ztans(doubleComplex in);
/*
** \brief Float Matrix Tangeant function
@@ -50,7 +51,7 @@ doubleComplex ztans(doubleComplex in);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void stana(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void stana(float* in, int size, float* out);
/*
** \brief Double Matrix Tangeant function
@@ -58,7 +59,7 @@ void stana(float* in, int size, float* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void dtana(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dtana(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Tangeant function
@@ -66,7 +67,7 @@ void dtana(double* in, int size, double* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void ctana(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void ctana(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Tangeant function
@@ -74,7 +75,7 @@ void ctana(floatComplex* in, int size, floatComplex* out);
** \param out : input array value.
** \param size : the size of in and out arrays.
*/
-void ztana(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void ztana(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__TAN_H__ */
diff --git a/src/elementaryFunctions/includes/tanh.h b/src/elementaryFunctions/includes/tanh.h
index 32b78b03..9f3dae52 100644
--- a/src/elementaryFunctions/includes/tanh.h
+++ b/src/elementaryFunctions/includes/tanh.h
@@ -13,6 +13,7 @@
#ifndef __TANH_H__
#define __TANH_H__
+#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
@@ -24,25 +25,25 @@
** \brief Float Hyperbolic Tangeant function
** \param in : input value.
*/
-float stanhs(float in);
+EXTERN_ELEMFUNCT float stanhs(float in);
/*
** \brief Double Hyperbolic Tangeant function
** \param in : input value.
*/
-double dtanhs(double in);
+EXTERN_ELEMFUNCT double dtanhs(double in);
/*
** \brief Float Complex Hyperbolic Tangeant function
** \param in : input value.
*/
-floatComplex ctanhs(floatComplex in);
+EXTERN_ELEMFUNCT floatComplex ctanhs(floatComplex in);
/*
** \brief Double Complex Hyperbolic Tangeant function
** \param in : input value.
*/
-doubleComplex ztanhs(doubleComplex in);
+EXTERN_ELEMFUNCT doubleComplex ztanhs(doubleComplex in);
/*
** \brief Float Matrix Hyperbolic Tangeant function
@@ -50,7 +51,7 @@ doubleComplex ztanhs(doubleComplex in);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void stanha(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void stanha(float* in, int size, float* out);
/*
** \brief Double Matrix Hyperbolic Tangeant function
@@ -58,7 +59,7 @@ void stanha(float* in, int size, float* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void dtanha(double* in, int size, double* out);
+EXTERN_ELEMFUNCT void dtanha(double* in, int size, double* out);
/*
** \brief Float Complex Matrix Hyperbolic Tangeant function
@@ -66,7 +67,7 @@ void dtanha(double* in, int size, double* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ctanha(floatComplex* in, int size, floatComplex* out);
+EXTERN_ELEMFUNCT void ctanha(floatComplex* in, int size, floatComplex* out);
/*
** \brief Double Complex Matrix Hyperbolic Tangeant function
@@ -74,6 +75,6 @@ void ctanha(floatComplex* in, int size, floatComplex* out);
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-void ztanha(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void ztanha(doubleComplex* in, int size, doubleComplex* out);
#endif /* !__TANH_H__ */