summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/includes/exp.h
blob: 6e8f027c6fc0e6f840dcf2d00798ceb49e444e7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/*
 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 *  Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
 *
 *  This file must be used under the terms of the CeCILL.
 *  This source file is licensed as described in the file COPYING, which
 *  you should have received as part of this distribution.  The terms
 *  are also available at
 *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 */

#ifndef __EXP_H__
#define __EXP_H__

#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
#include "types.h"


#ifdef  __cplusplus
extern "C" {
#endif
/*
** Compute Exponential for different types .
*/

/*
** \brief Float Exponential function
** \param in : input value.
*/
EXTERN_ELEMFUNCT float		sexps(float in);

/*
** \brief Double Exponential function
** \param in : input value.
*/
EXTERN_ELEMFUNCT double		dexps(double in);

/*
** \brief Float Complex Exponential function
** \param in : input value.
*/
EXTERN_ELEMFUNCT floatComplex	cexps(floatComplex in);

/*
** \brief Double Complex Exponential function
** \param in : input value.
*/
EXTERN_ELEMFUNCT doubleComplex	zexps(doubleComplex in);

/*
** \brief 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.
** \param size : the size of in and out arrays.
*/
EXTERN_ELEMFUNCT void		sexpa(float* in, int size, float* out);

/*
** \brief Double Matrix Exponential function
** \param in : input array value.
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
EXTERN_ELEMFUNCT void		dexpa(double* in, int size, double* out);

/*
** \brief Float Complex Matrix Exponential function
** \param in : input array value.
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
EXTERN_ELEMFUNCT void		cexpa(floatComplex* in, int size, floatComplex* out);

/*
** \brief Double Complex Matrix Exponential function
** \param in : input array value.
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
EXTERN_ELEMFUNCT void		zexpa(doubleComplex* in, int size, doubleComplex* out);

/*
** \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


#endif /* !__EXP_H__ */