34 #ifndef MATHLIB_UTILITY_H_
35 #define MATHLIB_UTILITY_H_ 1
45 #include "c7x_scalable.h"
67 __SA_TEMPLATE_v1 *sa0Params,
74 __SE_ELETYPE SE_ELETYPE;
75 __SE_VECLEN SE_VECLEN;
76 __SA_VECLEN SA_VECLEN;
79 typedef typename c7x::make_full_vector<T>::type vec;
82 SE_VECLEN = c7x::se_veclen<vec>::value;
83 SA_VECLEN = c7x::sa_veclen<vec>::value;
84 SE_ELETYPE = c7x::se_eletype<vec>::value;
87 se0Params->ELETYPE = SE_ELETYPE;
88 se0Params->VECLEN = SE_VECLEN;
89 se0Params->DIMFMT = __SE_DIMFMT_1D;
90 se0Params->ICNT0 = length;
93 sa0Params->VECLEN = SA_VECLEN;
94 sa0Params->DIMFMT = __SA_DIMFMT_1D;
95 sa0Params->ICNT0 = length;
116 template <
typename T>
117 static inline void MATHLIB_SE0SA0Open(__SE_TEMPLATE_v1 *se0Params, __SA_TEMPLATE_v1 *sa0Params, T *pSrc)
120 __SE0_OPEN(pSrc, *se0Params);
121 __SA0_OPEN(*sa0Params);
143 template <
typename T>
144 static inline void MATHLIB_SE0SE1SA0Open(__SE_TEMPLATE_v1 *se0Params, __SA_TEMPLATE_v1 *sa0Params, T *pSrc0, T *pSrc1)
147 __SE0_OPEN(pSrc0, *se0Params);
148 __SE1_OPEN(pSrc1, *se0Params);
149 __SA0_OPEN(*sa0Params);
218 if ((pSrc == NULL) || (pDst == NULL)) {
221 else if (length == 0) {
234 if ((pSrc0 == NULL) || (pSrc1 == NULL) || (pDst == NULL)) {
237 else if (length == 0) {
static float cmn_DIVSP(float a, float b)
static double cmn_DIVDP(double a, double b)
static void MATHLIB_SE0SE1SA0Open(__SE_TEMPLATE_v1 *se0Params, __SA_TEMPLATE_v1 *sa0Params, T *pSrc0, T *pSrc1)
This method performs SE0, SE1, and SA0 open.
static void MATHLIB_SE0SA0Close()
This method performs SE0 and SA0 close.
static void MATHLIB_SE0SE1SA0Close()
This method performs SE0, SE1, and SA0 close.
static void MATHLIB_SE0SA01DSequentialInit(__SE_TEMPLATE_v1 *se0Params, __SA_TEMPLATE_v1 *sa0Params, size_t length, T *pSrc, T *pDst)
static MATHLIB_STATUS MATHLIB_checkParams(size_t length, T *pSrc, T *pDst)
This method performs parameter checks for MATHLIB function.
static void MATHLIB_SE0SA0Open(__SE_TEMPLATE_v1 *se0Params, __SA_TEMPLATE_v1 *sa0Params, T *pSrc)
This method performs SE0 and SA0 open.
MATHLIB_STATUS_NAME
The enumeration of all status codes.
@ MATHLIB_ERR_NULL_POINTER
@ MATHLIB_ERR_INVALID_DIMENSION