summaryrefslogtreecommitdiff
path: root/src/c/auxiliaryFunctions/includes/sign.h
blob: 67f0da8b88b7aaa62592a2de82af847ea2208e4d (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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
/*
 *  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 __SIGN_H__
#define __SIGN_H__

#include <math.h>

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

#ifdef  __cplusplus
extern "C" {
#endif

/**
 ** \brief Float Signe function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the float we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT float		ssigns(float in);

/**
 ** \brief Double Signe function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the double we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT double		dsigns(double in);

/**
 ** \brief Float Complex Signe function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the float we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT floatComplex	csigns(floatComplex in);

/**
 ** \brief Double Complex Signe function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the double we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT doubleComplex	zsigns(doubleComplex in);

/**
 ** \brief Uint8 Sign function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the uint8 we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT int8		u8signs(uint8 in);

/**
 ** \brief Int8 Sign function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the int8 we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT int8		i8signs(int8 in);

/**
 ** \brief Uint16 Sign function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the uint16 we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT int16		u16signs(uint16 in);

/**
 ** \brief Int16 Sign function
 ** Determine the sign of in (assume that 0 is positive).
 ** \param in : the uint16 we must determine sign.
 ** \return -1 or +1 depending on the sign of in.
 **/
EXTERN_AUXFUNCT int16		i16signs(int16 in);

/**
 ** \brief Float Signe Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the float array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	ssigna(float *in, int size, float *out);

/**
 ** \brief Double Signe Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the double array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	dsigna(double *in, int size, double *out);

/**
 ** \brief Float Signe Complex Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the float complex array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	csigna(floatComplex *in, int size, floatComplex *out);

/**
 ** \brief Double Signe Complex Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the double complex array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	zsigna(doubleComplex *in, int size, doubleComplex *out);

/**
 ** \brief Uint8 Sign Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the uint8 array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	u8signa(uint8 *in, int size, int8 *out);

/**
 ** \brief Int8 Sign Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the int8 array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	i8signa(int8 *in, int size, int8 *out);

/**
 ** \brief Uint16 Sign Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the uint16 array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	u16signa(uint16 *in, int size, int16 *out);

/**
 ** \brief Int16 Sign Array function
 ** Determine the sign of an array in (assume that 0 is positive).
 ** \param in : the int16 array we must determine sign.
 ** \param size : the number of elements.
 ** \return -1 or +1 depending on the sign of in elements.
 **/
EXTERN_AUXFUNCT void	i16signa(int16 *in, int size, int16 *out);


#ifdef  __cplusplus
} /* extern "C" */
#endif


#endif /* !__SIGN_H__ */