Go to the source code of this file.
alignedREAL8Vector * createAlignedREAL8Vector | ( | UINT4 | length, |
const size_t | align | ||
) |
Definition at line 55 of file vectormath.c.
void destroyAlignedREAL8Vector | ( | alignedREAL8Vector * | vector | ) |
Definition at line 67 of file vectormath.c.
alignedREAL8VectorArray * createAlignedREAL8VectorArray | ( | const UINT4 | length, |
const UINT4 | vectorLength, | ||
const size_t | align | ||
) |
Definition at line 77 of file vectormath.c.
void destroyAlignedREAL8VectorArray | ( | alignedREAL8VectorArray * | array | ) |
Definition at line 88 of file vectormath.c.
REAL4VectorAlignedArray * createREAL4VectorAlignedArray | ( | const UINT4 | length, |
const UINT4 | vectorLength, | ||
const size_t | align | ||
) |
Definition at line 99 of file vectormath.c.
void destroyREAL4VectorAlignedArray | ( | REAL4VectorAlignedArray * | array | ) |
Definition at line 110 of file vectormath.c.
INT4 DirichletRatioVector | ( | COMPLEX8Vector * | output, |
alignedREAL8Vector * | delta0, | ||
alignedREAL8Vector * | delta1, | ||
alignedREAL8Vector * | scaling, | ||
const UserInput_t * | params | ||
) |
Definition at line 122 of file vectormath.c.
INT4 VectorArraySum | ( | REAL4VectorAlignedArray * | output, |
REAL4VectorAlignedArray * | input1, | ||
REAL4VectorAlignedArray * | input2, | ||
INT4 | vectorpos1, | ||
INT4 | vectorpos2, | ||
INT4 | outputvectorpos, | ||
INT4 | numvectors | ||
) |
Sum vectors from REAL4VectorAlignedArrays into an output REAL4VectorAlignedArray using SIMD.
[out] | output | Pointer to REAL4VectorAlignedArray |
[in] | input1 | Pointer to REAL4VectorAlignedArray |
[in] | input2 | Pointer to REAL4VectorAlignedArray |
[in] | vectorpos1 | Starting vector index for input1 |
[in] | vectorpos2 | Starting vector index for input2 |
[in] | outputvectorpos | Starting vector index for output |
[in] | numvectors | Number of vectors to sum, incrementing vectorpos1, vectorpos2, and outputvectorpos by 1 each time |
Definition at line 1292 of file vectormath.c.
INT4 sse_exp_REAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input | ||
) |
Exponential of input vector is computed using SSE, based on the Cephes library.
[out] | output | Pointer to alignedREAL8Vector |
[in] | input | Pointer to alignedREAL8Vector |
Definition at line 1609 of file vectormath.c.
INT4 fastSSVectorMultiply_with_stride_and_offset | ( | REAL4VectorAligned * | output, |
const REAL4VectorAligned * | input1, | ||
const REAL4VectorAligned * | input2, | ||
const INT4 | stride1, | ||
const INT4 | stride2, | ||
const INT4 | offset1, | ||
const INT4 | offset2 | ||
) |
Computes a multiplication of two vectors with a stride and initial offset.
Be sure you know what you are doing or this could go wrong (no error checking for speed!)
[out] | output | Pointer to REAL4VectorAligned output |
[in] | input1 | Pointer to first REAL4VectorAligned input |
[in] | input2 | Pointer to second REAL4VectorAligned input |
[in] | stride1 | Skip stride1 number of elements in input1 |
[in] | stride2 | Skip stride2 number of elements in input2 |
[in] | offset1 | Start at offset1 number of elements from the beginning of input1 |
[in] | offset2 | Start at offset2 number of elements from the beginning of input2 |
Definition at line 221 of file vectormath.c.
INT4 VectorSubtractREAL4 | ( | REAL4VectorAligned * | output, |
REAL4VectorAligned * | input1, | ||
REAL4VectorAligned * | input2, | ||
INT4 | vectorMath | ||
) |
Definition at line 243 of file vectormath.c.
INT4 VectorScaleREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | scale, | ||
INT4 | vectorMath | ||
) |
Definition at line 256 of file vectormath.c.
INT4 VectorShiftREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | shift, | ||
INT4 | vectorMath | ||
) |
Definition at line 269 of file vectormath.c.
INT4 VectorAddREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2, | ||
INT4 | vectorMath | ||
) |
Definition at line 282 of file vectormath.c.
INT4 VectorSubtractREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2, | ||
INT4 | vectorMath | ||
) |
Definition at line 295 of file vectormath.c.
INT4 VectorMultiplyREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2, | ||
INT4 | vectorMath | ||
) |
Definition at line 308 of file vectormath.c.
INT4 VectorInvertREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 321 of file vectormath.c.
INT4 VectorFloorREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 334 of file vectormath.c.
INT4 VectorRoundREAL4 | ( | REAL4VectorAligned * | output, |
REAL4VectorAligned * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 365 of file vectormath.c.
INT4 VectorRoundREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 396 of file vectormath.c.
INT4 VectorAbsREAL4 | ( | REAL4VectorAligned * | output, |
REAL4VectorAligned * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 427 of file vectormath.c.
INT4 VectorAbsREAL8 | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 480 of file vectormath.c.
INT4 VectorCabsfCOMPLEX8 | ( | REAL4VectorAligned * | output, |
COMPLEX8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 533 of file vectormath.c.
INT4 VectorCabsCOMPLEX8 | ( | alignedREAL8Vector * | output, |
COMPLEX8Vector * | input, | ||
INT4 | vectorMath | ||
) |
Definition at line 591 of file vectormath.c.
INT4 sseSSVectorSubtract | ( | REAL4VectorAligned * | output, |
REAL4VectorAligned * | input1, | ||
REAL4VectorAligned * | input2 | ||
) |
Subtract two REAL4VectorAligned using SSE.
[out] | output | Pointer to a REAL4VectorAligned |
[in] | input1 | Pointer to a REAL4VectorAligned |
[in] | input2 | Pointer to a REAL4VectorAligned |
Definition at line 748 of file vectormath.c.
INT4 avxSSVectorSubtract | ( | REAL4VectorAligned * | output, |
REAL4VectorAligned * | input1, | ||
REAL4VectorAligned * | input2 | ||
) |
Subtract two REAL4VectorAligned using AVX.
[out] | output | Pointer to a REAL4VectorAligned |
[in] | input1 | Pointer to a REAL4VectorAligned |
[in] | input2 | Pointer to a REAL4VectorAligned |
Definition at line 790 of file vectormath.c.
INT4 sseAddScalarToREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | scalar | ||
) |
Add a REAL8 scalar value to the elements of a alignedREAL8Vector using SSE.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input | Pointer to a alignedREAL8Vector |
[in] | scalar | Value to add to the elements of input |
Definition at line 1106 of file vectormath.c.
INT4 avxAddScalarToREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | scalar | ||
) |
Add a REAL8 scalar value to the elements of a alignedREAL8Vector using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input | Pointer to a alignedREAL8Vector |
[in] | scalar | Value to add to the elements of input |
Definition at line 1149 of file vectormath.c.
INT4 sseScaleREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | scale | ||
) |
Scale the elements of a alignedREAL8Vector by a REAL8 value using SSE.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input | Pointer to a alignedREAL8Vector |
[in] | scale | Value to scale the elements of input |
Definition at line 1197 of file vectormath.c.
INT4 avxScaleREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input, | ||
REAL8 | scale | ||
) |
Scale the elements of a alignedREAL8Vector by a REAL8 value using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input | Pointer to a alignedREAL8Vector |
[in] | scale | Value to scale the elements of input |
Definition at line 1240 of file vectormath.c.
INT4 sseDDVectorSum | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Sum two alignedREAL8Vector using SSE2.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 657 of file vectormath.c.
INT4 avxDDVectorSum | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Sum two alignedREAL8Vector using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 700 of file vectormath.c.
INT4 sseDDVectorSubtract | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Subtract two alignedREAL8Vector using SSE.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 838 of file vectormath.c.
INT4 avxDDVectorSubtract | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Subtract two alignedREAL8Vector using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 880 of file vectormath.c.
INT4 sseDDVectorMultiply | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Multiply two alignedREAL8Vector using SSE.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 928 of file vectormath.c.
INT4 avxDDVectorMultiply | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1, | ||
alignedREAL8Vector * | input2 | ||
) |
Multiply two alignedREAL8Vector using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
[in] | input2 | Pointer to a alignedREAL8Vector |
Definition at line 971 of file vectormath.c.
INT4 sseInvertREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1 | ||
) |
Invert a alignedREAL8Vector using SSE.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
Definition at line 1018 of file vectormath.c.
INT4 avxInvertREAL8Vector | ( | alignedREAL8Vector * | output, |
alignedREAL8Vector * | input1 | ||
) |
Invert a alignedREAL8Vector using AVX.
[out] | output | Pointer to a alignedREAL8Vector |
[in] | input1 | Pointer to a alignedREAL8Vector |
Definition at line 1059 of file vectormath.c.