diff options
author | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
---|---|---|
committer | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
commit | db464f35f5a10b58d9ed1085e0b462689adee583 (patch) | |
tree | de5cdbc71a54765d9fec33414630ae2c8904c9b8 /src/c/elementaryFunctions/includes | |
download | Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.tar.gz Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.tar.bz2 Scilab2C_fossee_old-db464f35f5a10b58d9ed1085e0b462689adee583.zip |
Original Version
Diffstat (limited to 'src/c/elementaryFunctions/includes')
27 files changed, 2027 insertions, 0 deletions
diff --git a/src/c/elementaryFunctions/includes/acos.h b/src/c/elementaryFunctions/includes/acos.h new file mode 100644 index 0000000..6b68c02 --- /dev/null +++ b/src/c/elementaryFunctions/includes/acos.h @@ -0,0 +1,89 @@ +/* + * 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 __ACOS_H__ +#define __ACOS_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** Compute ArcCosine for different types . +*/ + +/* +** \brief Float ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT float sacoss(float in); + +/* +** \brief Double ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT double dacoss(double in); + +/* +** \brief Float Complex ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT floatComplex cacoss(floatComplex in); + +/* +** \brief Double Complex ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT doubleComplex zacoss(doubleComplex in); + +/* +** \brief Float Matrix ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sacosa(float* in, int size, float* out); + +/* +** \brief Double Matrix ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dacosa(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void cacosa(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zacosa(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* !__ACOS_H__ */ diff --git a/src/c/elementaryFunctions/includes/acosh.h b/src/c/elementaryFunctions/includes/acosh.h new file mode 100644 index 0000000..ed7aa6a --- /dev/null +++ b/src/c/elementaryFunctions/includes/acosh.h @@ -0,0 +1,91 @@ +/* + * 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 __ACOSH_H__ +#define __ACOSH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** Compute Hyperbolic Hyperbolic ArcCosine for different types . +*/ + +/* +** \brief Float Hyperbolic ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT float sacoshs(float in); + +/* +** \brief Double Hyperbolic ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT double dacoshs(double in); + +/* +** \brief Float Complex Hyperbolic ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT floatComplex cacoshs(floatComplex in); + +/* +** \brief Double Complex Hyperbolic ArcCosine function +** \param in : input array value. +*/ +EXTERN_ELEMFUNCT doubleComplex zacoshs(doubleComplex in); + +/* +** \brief Float Matrix Hyperbolic ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sacosha(float* in, int size, float* out); + +/* +** \brief Double Matrix Hyperbolic ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dacosha(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Hyperbolic ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void cacosha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Hyperbolic ArcCosine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zacosha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__ACOSH_H__ */ diff --git a/src/c/elementaryFunctions/includes/asin.h b/src/c/elementaryFunctions/includes/asin.h new file mode 100644 index 0000000..3a28df1 --- /dev/null +++ b/src/c/elementaryFunctions/includes/asin.h @@ -0,0 +1,90 @@ +/* + * 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 __ASIN_H__ +#define __ASIN_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Compute ArcSine for different types . +*/ + +/* +** \brief Float ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float sasins(float in); + +/* +** \brief Double ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dasins(double in); + +/* +** \brief Float Complex ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex casins(floatComplex in); + +/* +** \brief Double Complex ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zasins(doubleComplex in); + +/* +** \brief Float Matrix ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sasina(float* in, int size, float* out); + +/* +** \brief Double Matrix ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dasina(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void casina(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zasina(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__ASIN_H__ */ diff --git a/src/c/elementaryFunctions/includes/asinh.h b/src/c/elementaryFunctions/includes/asinh.h new file mode 100644 index 0000000..9df597a --- /dev/null +++ b/src/c/elementaryFunctions/includes/asinh.h @@ -0,0 +1,90 @@ +/* + * 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 __ASINH_H__ +#define __ASINH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Compute Hyperbolic ArcSine for different types . +*/ + +/* +** \brief Float Hyperbolic ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float sasinhs(float in); + +/* +** \brief Double Hyperbolic ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dasinhs(double in); + +/* +** \brief Float Complex Hyperbolic ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex casinhs(floatComplex in); + +/* +** \brief Double Complex Hyperbolic ArcSine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zasinhs(doubleComplex in); + +/* +** \brief Float Matrix Hyperbolic ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sasinha(float* in, int size, float* out); + +/* +** \brief Double Matrix Hyperbolic ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dasinha(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Hyperbolic ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void casinha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Hyperbolic ArcSine function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zasinha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__ASINH_H__ */ diff --git a/src/c/elementaryFunctions/includes/atan.h b/src/c/elementaryFunctions/includes/atan.h new file mode 100644 index 0000000..b6a4cf0 --- /dev/null +++ b/src/c/elementaryFunctions/includes/atan.h @@ -0,0 +1,90 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __ATAN_H__ +#define __ATAN_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Compute ArcTangeant for different types . +*/ + +/* +** \brief Float ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float satans(float in); + +/* +** \brief Double ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double datans(double in); + +/* +** \brief Float Complex ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex catans(floatComplex in); + +/* +** \brief Double Complex ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zatans(doubleComplex in); + +/* +** \brief Float Matrix ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void satana(float* in, int size, float* out); + +/* +** \brief Double Matrix ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void datana(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void catana(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zatana(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__ATAN_H__ */ diff --git a/src/c/elementaryFunctions/includes/atan2.h b/src/c/elementaryFunctions/includes/atan2.h new file mode 100644 index 0000000..83aeebe --- /dev/null +++ b/src/c/elementaryFunctions/includes/atan2.h @@ -0,0 +1,57 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Allan SIMON + * + * 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 __ATAN2_H__ +#define __ATAN2_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" +#include <math.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Compute arctan with two parameters . +*/ + + +/* +** \brief Float arc tangent function +*/ +EXTERN_ELEMFUNCT float satan2s ( float x , float y ); + +/* +** \brief Double arc tangent function +*/ +EXTERN_ELEMFUNCT double datan2s ( double x , double y); + + +/* +** \brief array's Float arc tangent function +*/ +EXTERN_ELEMFUNCT void satan2a (float* in1, int size1, float* in2, int size2, float* out) ; + +/* +** \brief array's Double arc tangent function +*/ +EXTERN_ELEMFUNCT void datan2a (double* in1, int size1, double* in2, int size2, double* out) ; + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + + +#endif /* !__EXP10_H__ */ diff --git a/src/c/elementaryFunctions/includes/atanh.h b/src/c/elementaryFunctions/includes/atanh.h new file mode 100644 index 0000000..32fe178 --- /dev/null +++ b/src/c/elementaryFunctions/includes/atanh.h @@ -0,0 +1,91 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __ATANH_H__ +#define __ATANH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Compute Hyperbolic ArcTangeant for different types . +*/ + +/* +** \brief Float Hyperbolic ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float satanhs(float in); + +/* +** \brief Double Hyperbolic ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double datanhs(double in); + +/* +** \brief Float Complex Hyperbolic ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex catanhs(floatComplex in); + +/* +** \brief Double Complex Hyperbolic ArcTangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zatanhs(doubleComplex in); + +/* +** \brief Float Matrix Hyperbolic ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void satanha(float* in, int size, float* out); + +/* +** \brief Double Matrix Hyperbolic ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void datanha(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Hyperbolic ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void catanha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Hyperbolic ArcTangeant function +** \param in : input array value. +** \param out : input array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zatanha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__ATANH_H__ */ + diff --git a/src/c/elementaryFunctions/includes/ceil.h b/src/c/elementaryFunctions/includes/ceil.h new file mode 100644 index 0000000..960b8b3 --- /dev/null +++ b/src/c/elementaryFunctions/includes/ceil.h @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Arnaud Torset + * + * 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 __CEIL_H__ +#define __CEIL_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif +/* + ceil(x) returns an integer matrix made of rounded up elements +*/ + +EXTERN_ELEMFUNCT float sceils(float in); + +EXTERN_ELEMFUNCT double dceils(double in); + +EXTERN_ELEMFUNCT floatComplex cceils(floatComplex in); + +EXTERN_ELEMFUNCT doubleComplex zceils(doubleComplex in); + +EXTERN_ELEMFUNCT void sceila(float* in, int size, float* out); + +EXTERN_ELEMFUNCT void dceila(double* in, int size, double* out); + +EXTERN_ELEMFUNCT void cceila(floatComplex* in, int size, floatComplex* out); + +EXTERN_ELEMFUNCT void zceila(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__CEIL_H__ */ + diff --git a/src/c/elementaryFunctions/includes/cos.h b/src/c/elementaryFunctions/includes/cos.h new file mode 100644 index 0000000..5d573b1 --- /dev/null +++ b/src/c/elementaryFunctions/includes/cos.h @@ -0,0 +1,88 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __COS_H__ +#define __COS_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Cosine for different types . +*/ + +/* +** \brief Float Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float scoss(float in); + +/* +** \brief Double Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dcoss(double in); + +/* +** \brief Float Complex Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex ccoss(floatComplex in); + +/* +** \brief Double Complex Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zcoss(doubleComplex in); + +/* +** \brief Float 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 scosa(float* in, int size, float* out); + +/* +** \brief Double 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 dcosa(double* in, int size, double* out); + +/* +** \brief Float Complex 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 ccosa(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zcosa(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__COS_H__ */ diff --git a/src/c/elementaryFunctions/includes/cosh.h b/src/c/elementaryFunctions/includes/cosh.h new file mode 100644 index 0000000..0cbf8eb --- /dev/null +++ b/src/c/elementaryFunctions/includes/cosh.h @@ -0,0 +1,90 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __COSH_H__ +#define __COSH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Cosine for different types . +*/ + +/* +** \brief Float Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float scoshs(float in); + +/* +** \brief Double Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dcoshs(double in); + +/* +** \brief Float Complex Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex ccoshs(floatComplex in); + +/* +** \brief Double Complex Cosine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zcoshs(doubleComplex in); + +/* +** \brief Float 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 scosha(float* in, int size, float* out); + +/* +** \brief Double 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 dcosha(double* in, int size, double* out); + +/* +** \brief Float Complex 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 ccosha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zcosha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__COSH_H__ */ + diff --git a/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h b/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h new file mode 100644 index 0000000..5037696 --- /dev/null +++ b/src/c/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__
+
+#if defined(_MSC_VER) && defined(_USRDLL)
+ #if ELEMENTARYFUNCTIONS_EXPORTS
+ #define EXTERN_ELEMFUNCT __declspec (dllexport)
+ #else
+ #define EXTERN_ELEMFUNCT __declspec (dllimport)
+ #endif
+#else
+ #define EXTERN_ELEMFUNCT
+#endif
+
+#endif /* __DYNLIB_ELEMENTARYFUNCTIONS_H__ */
diff --git a/src/c/elementaryFunctions/includes/exp.h b/src/c/elementaryFunctions/includes/exp.h new file mode 100644 index 0000000..297a576 --- /dev/null +++ b/src/c/elementaryFunctions/includes/exp.h @@ -0,0 +1,90 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __EXP_H__ +#define __EXP_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Exponential for different types . +*/ + +/* +** \brief Float Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float sexps(float in); + +/* +** \brief Double Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dexps(double in); + +/* +** \brief Float Complex Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex cexps(floatComplex in); + +/* +** \brief Double Complex Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zexps(doubleComplex in); + +/* +** \brief Float 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 sexpa(float* in, int size, float* out); + +/* +** \brief Double 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 dexpa(double* in, int size, double* out); + +/* +** \brief Float Complex 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 cexpa(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zexpa(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__EXP_H__ */ + diff --git a/src/c/elementaryFunctions/includes/exp10.h b/src/c/elementaryFunctions/includes/exp10.h new file mode 100644 index 0000000..56a1d99 --- /dev/null +++ b/src/c/elementaryFunctions/includes/exp10.h @@ -0,0 +1,90 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __EXP10_H__ +#define __EXP10_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute 10 based Exponential for different types . +*/ + +/* +** \brief Float 10 based Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float sexp10s(float in); + +/* +** \brief Double Exp10onential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dexp10s(double in); + +/* +** \brief Float Complex 10 based Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex cexp10s(floatComplex in); + +/* +** \brief Double Complex 10 based Exponential function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zexp10s(doubleComplex in); + +/* +** \brief Float Matrix 10 based Exponential function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sexp10a(float* in, int size, float* out); + +/* +** \brief Double Matrix 10 based Exponential function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dexp10a(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix 10 based Exponential function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void cexp10a(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix 10 based Exponential function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zexp10a(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__EXP10_H__ */ + diff --git a/src/c/elementaryFunctions/includes/fix.h b/src/c/elementaryFunctions/includes/fix.h new file mode 100644 index 0000000..504a63c --- /dev/null +++ b/src/c/elementaryFunctions/includes/fix.h @@ -0,0 +1,52 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Arnaud Torset + * + * 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 __FIX_H__ +#define __FIX_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* + fix(x) returns an integer matrix made of nearest rounded integers toward zero,i.e, y=sign(x).*floor(abs(x)). Same as int. + In these functions, I take the formula : + if x>=0 y=floor(x) + else y=ceil(x) +*/ + +EXTERN_ELEMFUNCT float sfixs(float in); + +EXTERN_ELEMFUNCT double dfixs(double in); + +EXTERN_ELEMFUNCT floatComplex cfixs(floatComplex in); + +EXTERN_ELEMFUNCT doubleComplex zfixs(doubleComplex in); + +EXTERN_ELEMFUNCT void sfixa(float* in, int size, float* out); + +EXTERN_ELEMFUNCT void dfixa(double* in, int size, double* out); + +EXTERN_ELEMFUNCT void cfixa(floatComplex* in, int size, floatComplex* out); + +EXTERN_ELEMFUNCT void zfixa(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__FIX_H__ */ + diff --git a/src/c/elementaryFunctions/includes/floor.h b/src/c/elementaryFunctions/includes/floor.h new file mode 100644 index 0000000..971cdf6 --- /dev/null +++ b/src/c/elementaryFunctions/includes/floor.h @@ -0,0 +1,49 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Arnaud Torset + * + * 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 __FLOOR_H__ +#define __FLOOR_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* + floor(x) returns an integer matrix made of nearest rounded down integers. +*/ + +EXTERN_ELEMFUNCT float sfloors(float in); + +EXTERN_ELEMFUNCT double dfloors(double in); + +EXTERN_ELEMFUNCT floatComplex cfloors(floatComplex in); + +EXTERN_ELEMFUNCT doubleComplex zfloors(doubleComplex in); + +EXTERN_ELEMFUNCT void sfloora(float* in, int size, float* out); + +EXTERN_ELEMFUNCT void dfloora(double* in, int size, double* out); + +EXTERN_ELEMFUNCT void cfloora(floatComplex* in, int size, floatComplex* out); + +EXTERN_ELEMFUNCT void zfloora(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__FLOOR_H__ */ + diff --git a/src/c/elementaryFunctions/includes/int.h b/src/c/elementaryFunctions/includes/int.h new file mode 100644 index 0000000..5398588 --- /dev/null +++ b/src/c/elementaryFunctions/includes/int.h @@ -0,0 +1,49 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Arnaud Torset + * + * 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 __INT_H__ +#define __INT_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* + int(X) returns the integer part of the real matrix X. Same as fix. +*/ + +EXTERN_ELEMFUNCT float sints(float in); + +EXTERN_ELEMFUNCT double dints(double in); + +EXTERN_ELEMFUNCT floatComplex cints(floatComplex in); + +EXTERN_ELEMFUNCT doubleComplex zints(doubleComplex in); + +EXTERN_ELEMFUNCT void sinta(float* in, int size, float* out); + +EXTERN_ELEMFUNCT void dinta(double* in, int size, double* out); + +EXTERN_ELEMFUNCT void cinta(floatComplex* in, int size, floatComplex* out); + +EXTERN_ELEMFUNCT void zinta(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__INT_H__ */ + diff --git a/src/c/elementaryFunctions/includes/lnp1m1.h b/src/c/elementaryFunctions/includes/lnp1m1.h new file mode 100644 index 0000000..e5f3751 --- /dev/null +++ b/src/c/elementaryFunctions/includes/lnp1m1.h @@ -0,0 +1,46 @@ +/* + * 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 __LNP1M1_H__ +#define __LNP1M1_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute v = log ( (1 + s)/(1 - s) ) for different types . +*/ + +/* +** \brief Float Lnp1m1 function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float slnp1m1s(float in); + +/* +** \brief Double Lnp1m1 function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dlnp1m1s(double in); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__LNP1M1_H__ */ + diff --git a/src/c/elementaryFunctions/includes/log.h b/src/c/elementaryFunctions/includes/log.h new file mode 100644 index 0000000..9fb5e75 --- /dev/null +++ b/src/c/elementaryFunctions/includes/log.h @@ -0,0 +1,89 @@ +/* + * 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 __LOG_H__ +#define __LOG_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Logarithm for different types . +*/ + +/* +** \brief Float Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float slogs(float in); + +/* +** \brief Double Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dlogs(double in); + +/* +** \brief Float Complex Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex clogs(floatComplex in); + +/* +** \brief Double Complex Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zlogs(doubleComplex in); + +/* +** \brief Float Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void sloga(float* in, int size, float* out); + +/* +** \brief Double Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dloga(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void cloga(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zloga(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__LOG_H__ */ + diff --git a/src/c/elementaryFunctions/includes/log10.h b/src/c/elementaryFunctions/includes/log10.h new file mode 100644 index 0000000..a595424 --- /dev/null +++ b/src/c/elementaryFunctions/includes/log10.h @@ -0,0 +1,89 @@ +/* + * 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 __LOG10_H__ +#define __LOG10_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Ten based Logarithm for different types . +*/ + +/* +** \brief Float Ten based Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float slog10s(float in); + +/* +** \brief Double Ten based Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dlog10s(double in); + +/* +** \brief Float Complex Ten based Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex clog10s(floatComplex in); + +/* +** \brief Double Complex Ten based Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zlog10s(doubleComplex in); + +/* +** \brief Float Matrix Ten based Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void slog10a(float* in, int size, float* out); + +/* +** \brief Double Matrix Ten based Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dlog10a(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Ten based Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void clog10a(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Ten based Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zlog10a(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__LOG10_H__ */ + diff --git a/src/c/elementaryFunctions/includes/log1p.h b/src/c/elementaryFunctions/includes/log1p.h new file mode 100644 index 0000000..58b93d0 --- /dev/null +++ b/src/c/elementaryFunctions/includes/log1p.h @@ -0,0 +1,88 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-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 __LOG1P_H__ +#define __LOG1P_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Logarithm for different types . +*/ + +/* +** \brief Float Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float slog1ps(float in); + +/* +** \brief Double Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dlog1ps(double in); + +/* +** \brief Float Complex Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex clog1ps(floatComplex in); + +/* +** \brief Double Complex Logarithm function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zlog1ps(doubleComplex in); + +/* +** \brief Float Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void slog1pa(float* in, int size, float* out); + +/* +** \brief Double Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void dlog1pa(double* in, int size, double* out); + +/* +** \brief Float Complex Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void clog1pa(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex Matrix Logarithm function +** \param in : input array value. +** \param out : output array value. +** \param size : the size of in and out arrays. +*/ +EXTERN_ELEMFUNCT void zlog1pa(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* !__LOG1P_H__ */ + diff --git a/src/c/elementaryFunctions/includes/pow.h b/src/c/elementaryFunctions/includes/pow.h new file mode 100644 index 0000000..ec8216d --- /dev/null +++ b/src/c/elementaryFunctions/includes/pow.h @@ -0,0 +1,43 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-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 __POW_H__ +#define __POW_H__ + +#include "dynlib_elementaryfunctions.h" +#include "multiplication.h" + +#ifdef __cplusplus +extern "C" { +#endif +EXTERN_ELEMFUNCT float spows(float value, float expand); + +EXTERN_ELEMFUNCT double dpows(double value, double expand); + +EXTERN_ELEMFUNCT floatComplex cpows(floatComplex value, floatComplex expand); + +EXTERN_ELEMFUNCT doubleComplex zpows(doubleComplex value, doubleComplex 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); + +EXTERN_ELEMFUNCT void cpowa(floatComplex *value, int size, floatComplex* expand, floatComplex *out); + +EXTERN_ELEMFUNCT void zpowa(doubleComplex *value, int size, doubleComplex* expand, doubleComplex *out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__POW_H__ */ diff --git a/src/c/elementaryFunctions/includes/round.h b/src/c/elementaryFunctions/includes/round.h new file mode 100644 index 0000000..1c3c0ce --- /dev/null +++ b/src/c/elementaryFunctions/includes/round.h @@ -0,0 +1,48 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Arnaud Torset + * + * 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 __ROUND_H__ +#define __ROUND_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* + round(x) rounds the elements of x to the nearest integers. +*/ + +EXTERN_ELEMFUNCT float srounds(float in); + +EXTERN_ELEMFUNCT double drounds(double in); + +EXTERN_ELEMFUNCT floatComplex crounds(floatComplex in); + +EXTERN_ELEMFUNCT doubleComplex zrounds(doubleComplex in); + +EXTERN_ELEMFUNCT void srounda(float* in, int size, float* out); + +EXTERN_ELEMFUNCT void drounda(double* in, int size, double* out); + +EXTERN_ELEMFUNCT void crounda(floatComplex* in, int size, floatComplex* out); + +EXTERN_ELEMFUNCT void zrounda(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* !__ROUND_H__ */ + diff --git a/src/c/elementaryFunctions/includes/sin.h b/src/c/elementaryFunctions/includes/sin.h new file mode 100644 index 0000000..198b066 --- /dev/null +++ b/src/c/elementaryFunctions/includes/sin.h @@ -0,0 +1,89 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __SIN_H__ +#define __SIN_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Sine for different types . +*/ + +/* +** \brief Float Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float ssins(float in); + +/* +** \brief Double Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dsins(double in); + +/* +** \brief Float Complex Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex csins(floatComplex in); + +/* +** \brief Double Complex Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zsins(doubleComplex in); + +/* +** \brief Float 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 ssina(float* in, int size, float* out); + +/* +** \brief Double 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 dsina(double* in, int size, double* out); + +/* +** \brief Float Complex 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 csina(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zsina(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__SIN_H__ */ + diff --git a/src/c/elementaryFunctions/includes/sinh.h b/src/c/elementaryFunctions/includes/sinh.h new file mode 100644 index 0000000..c052a90 --- /dev/null +++ b/src/c/elementaryFunctions/includes/sinh.h @@ -0,0 +1,88 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __SINH_H__ +#define __SINH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Sine for different types . +*/ + +/* +** \brief Float Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float ssinhs(float in); + +/* +** \brief Double Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dsinhs(double in); + +/* +** \brief Float Complex Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex csinhs(floatComplex in); + +/* +** \brief Double Complex Sine function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex zsinhs(doubleComplex in); + +/* +** \brief Float 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 ssinha(float* in, int size, float* out); + +/* +** \brief Double 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 dsinha(double* in, int size, double* out); + +/* +** \brief Float Complex 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 csinha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zsinha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__SINH_H__ */ diff --git a/src/c/elementaryFunctions/includes/sqrt.h b/src/c/elementaryFunctions/includes/sqrt.h new file mode 100644 index 0000000..7885c9c --- /dev/null +++ b/src/c/elementaryFunctions/includes/sqrt.h @@ -0,0 +1,88 @@ +/* + * 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 __SQRT_H__ +#define __SQRT_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Square Root for different types . +*/ + +/* +** \brief Float Square Root function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float ssqrts(float in); + +/* +** \brief Double Square Root function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dsqrts(double in); + +/* +** \brief Float Complex Square Root function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex csqrts(floatComplex in); + +/* +** \brief Double Complex Square Root function +** \param in : input value. +*/ +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); + +/* +** \brief Double 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 dsqrta(double* in, int size, double* out); + +/* +** \brief Float Complex 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 csqrta(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 zsqrta(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__SQRT_H__ */ diff --git a/src/c/elementaryFunctions/includes/tan.h b/src/c/elementaryFunctions/includes/tan.h new file mode 100644 index 0000000..77ef786 --- /dev/null +++ b/src/c/elementaryFunctions/includes/tan.h @@ -0,0 +1,89 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __TAN_H__ +#define __TAN_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Tangeant for different types . +*/ + +/* +** \brief Float Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float stans(float in); + +/* +** \brief Double Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dtans(double in); + +/* +** \brief Float Complex Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex ctans(floatComplex in); + +/* +** \brief Double Complex Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex ztans(doubleComplex in); + +/* +** \brief Float 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 stana(float* in, int size, float* out); + +/* +** \brief Double 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 dtana(double* in, int size, double* out); + +/* +** \brief Float Complex 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 ctana(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 ztana(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__TAN_H__ */ + diff --git a/src/c/elementaryFunctions/includes/tanh.h b/src/c/elementaryFunctions/includes/tanh.h new file mode 100644 index 0000000..9ff440c --- /dev/null +++ b/src/c/elementaryFunctions/includes/tanh.h @@ -0,0 +1,88 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-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 __TANH_H__ +#define __TANH_H__ + +#include "dynlib_elementaryfunctions.h" +#include "floatComplex.h" +#include "doubleComplex.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* +** Compute Hyperbolic Tangeant for different types . +*/ + +/* +** \brief Float Hyperbolic Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT float stanhs(float in); + +/* +** \brief Double Hyperbolic Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT double dtanhs(double in); + +/* +** \brief Float Complex Hyperbolic Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT floatComplex ctanhs(floatComplex in); + +/* +** \brief Double Complex Hyperbolic Tangeant function +** \param in : input value. +*/ +EXTERN_ELEMFUNCT doubleComplex ztanhs(doubleComplex in); + +/* +** \brief Float 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 stanha(float* in, int size, float* out); + +/* +** \brief Double 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 dtanha(double* in, int size, double* out); + +/* +** \brief Float Complex 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 ctanha(floatComplex* in, int size, floatComplex* out); + +/* +** \brief Double Complex 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 ztanha(doubleComplex* in, int size, doubleComplex* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + + +#endif /* !__TANH_H__ */ |