Yeppp!
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Sum of squares (squared L2 norm)

Functions

enum YepStatus yepCore_SumSquares_V32f_S32f (const Yep32f *restrict v, Yep32f *restrict sumSquares, YepSize length)
 Computes the sum of squares of single precision (32-bit) floating-point array elements. More...
 
enum YepStatus yepCore_SumSquares_V64f_S64f (const Yep64f *restrict v, Yep64f *restrict sumSquares, YepSize length)
 Computes the sum of squares of double precision (64-bit) floating-point array elements. More...
 

Detailed Description

Function Documentation

enum YepStatus yepCore_SumSquares_V32f_S32f ( const Yep32f *restrict  v,
Yep32f *restrict  sumSquares,
YepSize  length 
)

Computes the sum of squares of single precision (32-bit) floating-point array elements.

Parameters
[in]vPointer to the array of elements which will be squared (without write-back) and summed up.
[out]sumSquaresPointer to the variable where the sum of squares will be stored.
[in]lengthThe length of the array specified by v. If length is zero, the computed sum of squares will be 0.
Return values
YepStatusOkThe computation finished successfully.
YepStatusNullPointerv or sumSquares argument is null.
YepStatusMisalignedPointerv or sumSquares argument is not naturally aligned.
Optimized implementations
ArchitectureTarget microarchitectureRequired instruction extensions
x86-64Intel NehalemSSE, SSE3
x86-64Intel Sandy BridgeAVX
x86-64Intel HaswellAVX, FMA3
x86-64AMD BulldozerAVX, FMA4
enum YepStatus yepCore_SumSquares_V64f_S64f ( const Yep64f *restrict  v,
Yep64f *restrict  sumSquares,
YepSize  length 
)

Computes the sum of squares of double precision (64-bit) floating-point array elements.

Parameters
[in]vPointer to the array of elements which will be squared (without write-back) and summed up.
[out]sumSquaresPointer to the variable where the sum of squares will be stored.
[in]lengthThe length of the array specified by v. If length is zero, the computed sum of squares will be 0.
Return values
YepStatusOkThe computation finished successfully.
YepStatusNullPointerv or sumSquares argument is null.
YepStatusMisalignedPointerv or sumSquares argument is not naturally aligned.
Optimized implementations
ArchitectureTarget microarchitectureRequired instruction extensions
x86-64Intel NehalemSSE, SSE2
x86-64Intel Sandy BridgeAVX
x86-64Intel HaswellAVX, FMA3
x86-64AMD BulldozerAVX, FMA4