Yeppp!
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions

Functions

enum YepStatus yepMath_EvaluatePolynomial_V32fV32f_V32f (const Yep32f *restrict coef, const Yep32f *restrict x, Yep32f *restrict y, YepSize coefCount, YepSize length)
 Evaluates polynomial with single precision (32-bit) floating-point coefficients on an array of single precision (32-bit) floating-point elements. More...
 
enum YepStatus yepMath_EvaluatePolynomial_V64fV64f_V64f (const Yep64f *restrict coef, const Yep64f *restrict x, Yep64f *restrict y, YepSize coefCount, YepSize length)
 Evaluates polynomial with double precision (64-bit) floating-point coefficients on an array of double precision (64-bit) floating-point elements. More...
 

Detailed Description

Function Documentation

enum YepStatus yepMath_EvaluatePolynomial_V32fV32f_V32f ( const Yep32f *restrict  coef,
const Yep32f *restrict  x,
Yep32f *restrict  y,
YepSize  coefCount,
YepSize  length 
)

Evaluates polynomial with single precision (32-bit) floating-point coefficients on an array of single precision (32-bit) floating-point elements.

Parameters
[in]xPointer to the array of elements on which the polynomial will be evaluated.
[in]coefPointer to the array of polynomial coefficients.
[out]yPointer the array where the result of polynomial evaluation will be stored.
[in]coefCountNumber of polynomial coefficients. Should equal the polynomial degree plus one.
[in]lengthLength of the arrays specified by x and y.
Return values
YepStatusInvalidArgumentcoefCount is zero.
YepStatusOkThe computation finished successfully.
YepStatusNullPointercoef, x or y argument is null.
YepStatusMisalignedPointercoef, x or y argument is not naturally aligned.
Optimized implementations
ArchitectureTarget microarchitectureRequired instruction extensions
x86-64DefaultSSE
x86-64Intel NehalemSSE
x86-64Intel Sandy BridgeAVX
x86-64Intel HaswellSSE, AVX, FMA3
x86-64Intel BonnellSSE
x86-64AMD BulldozerAVX, FMA4
ARMARM Cortex-A9VFP2, NEON
enum YepStatus yepMath_EvaluatePolynomial_V64fV64f_V64f ( const Yep64f *restrict  coef,
const Yep64f *restrict  x,
Yep64f *restrict  y,
YepSize  coefCount,
YepSize  length 
)

Evaluates polynomial with double precision (64-bit) floating-point coefficients on an array of double precision (64-bit) floating-point elements.

Parameters
[in]xPointer to the array of elements on which the polynomial will be evaluated.
[in]coefPointer to the array of polynomial coefficients.
[out]yPointer the array where the result of polynomial evaluation will be stored.
[in]coefCountNumber of polynomial coefficients. Should equal the polynomial degree plus one.
[in]lengthLength of the arrays specified by x and y.
Return values
YepStatusInvalidArgumentcoefCount is zero.
YepStatusOkThe computation finished successfully.
YepStatusNullPointercoef, x or y argument is null.
YepStatusMisalignedPointercoef, x or y argument is not naturally aligned.
Optimized implementations
ArchitectureTarget microarchitectureRequired instruction extensions
x86-64DefaultSSE2, SSE3
x86-64Intel NehalemSSE2, SSE3
x86-64Intel Sandy BridgeAVX
x86-64Intel HaswellSSE, AVX, FMA3
x86-64Intel BonnellSSE, SSE2
x86-64AMD BulldozerAVX, FMA4
ARMARM Cortex-A9VFP2, VFPd32
Examples:
Polynomial.c.