diff options
Diffstat (limited to '2.3-1/src/c/statisticsFunctions/includes/statMax.h')
-rw-r--r-- | 2.3-1/src/c/statisticsFunctions/includes/statMax.h | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/2.3-1/src/c/statisticsFunctions/includes/statMax.h b/2.3-1/src/c/statisticsFunctions/includes/statMax.h new file mode 100644 index 00000000..8e5d12b9 --- /dev/null +++ b/2.3-1/src/c/statisticsFunctions/includes/statMax.h @@ -0,0 +1,130 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ + +#ifndef __STAT_MAX_H__ +#define __STAT_MAX_H__ + +#include "dynlib_statisticsfunctions.h" +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +//#define max(a,b) (a>=b?a:b) + +#define maxa(a,size1,b,size2,out) {int i;\ + for (i=0;i<size1[0]*size2[1];i++) out[i]=max(a[i],b[i]);\ + } + +/* +** \brief max of a scalar element, just returns it +*/ +#define smaxs(in) in +#define srowmaxs(in) in +#define scolumnmaxs(in) in +#define smatlabmaxs(in) in + +/* +** \brief max of a scalar element, just returns it +*/ +#define dmaxs(in) in +#define drowmaxs(in) in +#define dcolumnmaxs(in) in +#define dmatlabmaxs(in) in + +/* +** \brief max of a scalar element, just returns it +*/ +#define u8maxs(in) (uint8)in +#define u8rowmaxs(in) (uint8)in +#define u8columnmaxs(in) (uint8)in +#define u8matlabmaxs(in) (uint8)in +#define u16maxs(in) (uint16)in +#define u16rowmaxs(in) (uint16)in +#define u16columnmaxs(in) (uint16)in +#define u16matlabmaxs(in) (uint16)in +#define i8maxs(in) (int8)in +#define i8rowmaxs(in) (int8)in +#define i8columnmaxs(in) (int8)in +#define i8matlabmaxs(in) (int8)in +#define i16maxs(in) (int16)in +#define i16rowmaxs(in) (int16)in +#define i16columnmaxs(in) (int16)in +#define i16matlabmaxs(in) (int16)in + + + +/* +** \brief Sum of a float array +** \param in the float array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC float smaxa(float *in, int size); +EXTERN_STATFUNC void srowmaxa(float *in, int lines, int columns, float* out); +EXTERN_STATFUNC void scolumnmaxa(float *in, int lines, int columns, float* out); + +/* +** \brief Sum of a double array +** \param in the double array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC double dmaxa(double *in, int size); +EXTERN_STATFUNC void drowmaxa(double *in, int lines, int columns, double* out); +EXTERN_STATFUNC void dcolumnmaxa(double *in, int lines, int columns, double* out); + +/* +** \brief Sum of a uint8 array +** \param in the uint8 array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC uint8 u8maxa(uint8 *in, int size); +EXTERN_STATFUNC void u8rowmaxa(uint8 *in, int lines, int columns, uint8* out); +EXTERN_STATFUNC void u8columnmaxa(uint8 *in, int lines, int columns, uint8* out); + +/* +** \brief Sum of a uint16 array +** \param in the uint16 array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC uint16 u16maxa(uint16 *in, int size); +EXTERN_STATFUNC void u16rowmaxa(uint16 *in, int lines, int columns, uint16* out); +EXTERN_STATFUNC void u16columnmaxa(uint16 *in, int lines, int columns, uint16* out); + +/* +** \brief Sum of a int8 array +** \param in the int8 array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC int8 i8maxa(int8 *in, int size); +EXTERN_STATFUNC void i8rowmaxa(int8 *in, int lines, int columns, int8* out); +EXTERN_STATFUNC void i8columnmaxa(int8 *in, int lines, int columns, int8* out); + +/* +** \brief Sum of a int16 array +** \param in the int16 array to process +** \param size, the size of the array +** \returns the max. +*/ +EXTERN_STATFUNC int16 i16maxa(int16 *in, int size); +EXTERN_STATFUNC void i16rowmaxa(int16 *in, int lines, int columns, int16* out); +EXTERN_STATFUNC void i16columnmaxa(int16 *in, int lines, int columns, int16* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif +#endif /* !__STAT_MAX_H__ */ |