34 #define ELEMENT_COUNT(x) c7x::element_count_of<x>::value
35 #define ELEMENT_TYPE(x) typename c7x::element_type_of<x>::type
60 size_t remNumBlocks = 0;
63 typedef typename c7x::make_full_vector<T>::type vec;
65 __SE_TEMPLATE_v1 se0Params = __gen_SE_TEMPLATE_v1();
66 __SA_TEMPLATE_v1 sa0Params = __gen_SA_TEMPLATE_v1();
76 numBlocks = length / c7x::element_count_of<vec>::value;
77 remNumBlocks = length % c7x::element_count_of<vec>::value;
94 for (
size_t i = 0; i < numBlocks; i++) {
95 vec a = c7x::strm_eng<0, vec>::get_adv();
96 vec b = c7x::strm_eng<1, vec>::get_adv();
117 __vpred tmp = c7x::strm_agen<0, vec>::get_vpred();
118 vec *addr = c7x::strm_agen<0, vec>::get_adv(pDst);
119 __vstore_pred(tmp, addr, outVec);
template MATHLIB_STATUS MATHLIB_div< float >(size_t length, float *pSrc0, float *pSrc1, float *pDst)
MATHLIB_STATUS MATHLIB_div(size_t length, T *pSrc0, T *pSrc1, T *pDst)
Performs the elementwise divide of two input vectors. Function can be overloaded with float or double...
MATHLIB_STATUS MATHLIB_div_sp(size_t length, float *pSrc0, float *pSrc1, float *pDst)
This function is the C interface for MATHLIB_div. Function accepts float pointers.
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_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.
MATHLIB_STATUS_NAME
The enumeration of all status codes.