summaryrefslogtreecommitdiff
path: root/src/c/auxiliaryFunctions/includes
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/auxiliaryFunctions/includes')
-rw-r--r--src/c/auxiliaryFunctions/includes/abs.h67
-rw-r--r--src/c/auxiliaryFunctions/includes/find.h27
-rw-r--r--src/c/auxiliaryFunctions/includes/rand.h56
-rw-r--r--src/c/auxiliaryFunctions/includes/sign.h70
4 files changed, 220 insertions, 0 deletions
diff --git a/src/c/auxiliaryFunctions/includes/abs.h b/src/c/auxiliaryFunctions/includes/abs.h
index 00565e39..cd022905 100644
--- a/src/c/auxiliaryFunctions/includes/abs.h
+++ b/src/c/auxiliaryFunctions/includes/abs.h
@@ -17,6 +17,7 @@
#include "floatComplex.h"
#include "doubleComplex.h"
#include "sqrt.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -55,6 +56,38 @@ EXTERN_AUXFUNCT float cabss(floatComplex in);
EXTERN_AUXFUNCT double zabss(doubleComplex in);
/**
+ ** \brief Uint8 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the uint8 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT uint8 u8abss(uint8 in);
+
+/**
+ ** \brief Int8 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the int8 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT int8 i8abss(int8 in);
+
+/**
+ ** \brief Uint16 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the uint16 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT uint16 u16abss(uint16 in);
+
+/**
+ ** \brief Int16 Absolute Value function
+ ** Determine the absolute value of in.
+ ** \param in : the int16 we must determine abs.
+ ** \return -in or in depending on the sign of in.
+ **/
+EXTERN_AUXFUNCT int16 i16abss(int16 in);
+
+/**
** \brief Float Array Absolute Value function
** Determine the absolute value of in elements.
** \param in : the float array we must determine abs.
@@ -86,6 +119,40 @@ EXTERN_AUXFUNCT void cabsa(floatComplex *in, int size, float* out);
**/
EXTERN_AUXFUNCT void zabsa(doubleComplex *in, int size, double* out);
+
+/**
+ ** \brief Uint8 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the uint8 array we must determine abs.
+ ** \param out : the uint8 array result.
+ **/
+EXTERN_AUXFUNCT void u8absa(uint8 *in, int size, uint8* out);
+
+/**
+ ** \brief Int8 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the int8 array we must determine abs.
+ ** \param out : the int8 array result.
+ **/
+EXTERN_AUXFUNCT void i8absa(int8 *in, int size, int8* out);
+
+/**
+ ** \brief Uint16 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the uint16 array we must determine abs.
+ ** \param out : the uint16 array result.
+ **/
+EXTERN_AUXFUNCT void u16absa(uint16 *in, int size, uint16* out);
+
+/**
+ ** \brief Int16 Array Absolute Value function
+ ** Determine the absolute value of in elements.
+ ** \param in : the int16 array we must determine abs.
+ ** \param out : the int16 array result.
+ **/
+EXTERN_AUXFUNCT void i16absa(int16 *in, int size, int16* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/auxiliaryFunctions/includes/find.h b/src/c/auxiliaryFunctions/includes/find.h
index 3104e957..8072f745 100644
--- a/src/c/auxiliaryFunctions/includes/find.h
+++ b/src/c/auxiliaryFunctions/includes/find.h
@@ -16,6 +16,7 @@
#include "dynlib_auxiliaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -44,6 +45,32 @@ EXTERN_AUXFUNCT void cfinda(floatComplex* z, int size, float *out, int max);
*/
EXTERN_AUXFUNCT void zfinda(doubleComplex* z, int size, double *out, int max);
+/*
+** \brief uint8 Find function
+** max is an integer giving the maximum number of indices to return. (use -1 to search them all)
+*/
+EXTERN_AUXFUNCT void u8finda(uint8 *x, int size, uint8 *out, int max);
+
+/*
+** \brief uint16 Find function
+** max is an integer giving the maximum number of indices to return. (use -1 to search them all)
+*/
+EXTERN_AUXFUNCT void u16finda(uint16 *x, int size, uint16 *out, int max);
+
+/*
+** \brief int8 Find function
+** max is an integer giving the maximum number of indices to return. (use -1 to search them all)
+*/
+EXTERN_AUXFUNCT void i8finda(int8 *x, int size, int8 *out, int max);
+
+/*
+** \brief int16 Find function
+** max is an integer giving the maximum number of indices to return. (use -1 to search them all)
+*/
+EXTERN_AUXFUNCT void i16finda(int16 *x, int size, int16 *out, int max);
+
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/auxiliaryFunctions/includes/rand.h b/src/c/auxiliaryFunctions/includes/rand.h
index 4716cbba..d032a124 100644
--- a/src/c/auxiliaryFunctions/includes/rand.h
+++ b/src/c/auxiliaryFunctions/includes/rand.h
@@ -17,6 +17,7 @@
#include "dynlib_auxiliaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -46,6 +47,35 @@ EXTERN_AUXFUNCT floatComplex crands(void);
**/
EXTERN_AUXFUNCT doubleComplex zrands(void);
+
+/**
+ ** \brief uint8 Rand function
+ ** \return A random double.
+ **/
+EXTERN_AUXFUNCT double u8rands(void);
+
+
+/**
+ ** \brief uint16 Rand function
+ ** \return A random double.
+ **/
+EXTERN_AUXFUNCT double u16rands(void);
+
+
+/**
+ ** \brief int8 Rand function
+ ** \return A random double.
+ **/
+EXTERN_AUXFUNCT double i8rands(void);
+
+
+/**
+ ** \brief int16 Rand function
+ ** \return A random double.
+ **/
+EXTERN_AUXFUNCT double i16rands(void);
+
+
/**
** \brief Float Array Rand function
** \return A random float array.
@@ -70,6 +100,32 @@ EXTERN_AUXFUNCT void cranda(floatComplex *out, int size);
**/
EXTERN_AUXFUNCT void zranda(doubleComplex *out, int size);
+/**
+ ** \brief uint8 Array Rand function
+ ** \return A random double array.
+ **/
+EXTERN_AUXFUNCT void u8randa(double *out, int size);
+
+/**
+ ** \brief uint16 Array Rand function
+ ** \return A random double array.
+ **/
+EXTERN_AUXFUNCT void u16randa(double *out, int size);
+
+
+/**
+ ** \brief int8 Array Rand function
+ ** \return A random double array.
+ **/
+EXTERN_AUXFUNCT void i8randa(double *out, int size);
+
+/**
+ ** \brief int16 Array Rand function
+ ** \return A random double array.
+ **/
+EXTERN_AUXFUNCT void i16randa(double *out, int size);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/auxiliaryFunctions/includes/sign.h b/src/c/auxiliaryFunctions/includes/sign.h
index 0f69b4b7..67f0da8b 100644
--- a/src/c/auxiliaryFunctions/includes/sign.h
+++ b/src/c/auxiliaryFunctions/includes/sign.h
@@ -18,6 +18,7 @@
#include "dynlib_auxiliaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -56,6 +57,38 @@ EXTERN_AUXFUNCT floatComplex csigns(floatComplex 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.
@@ -91,6 +124,43 @@ EXTERN_AUXFUNCT void csigna(floatComplex *in, int size, floatComplex *out);
**/
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