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