![]() |
![]() |
Functions | |
| int_fast16_t | APULPF3_dotProduct (APULPF3_ComplexVector *vecA, APULPF3_ComplexVector *vecB, bool conjugate, float complex *result) |
| APU function for calculating the dot product of two vectors, with the option to perform the complex conjugate on the second vector first. More... | |
| int_fast16_t | APULPF3_vectorMult (APULPF3_ComplexVector *vecA, APULPF3_ComplexVector *vecB, bool conjugate, APULPF3_ComplexVector *result) |
| APU function for calculating the element-wise product of two vectors, with the option to perform the complex conjugate on the second vector first. More... | |
| int_fast16_t | APULPF3_vectorScalarMult (APULPF3_ComplexVector *vecA, float complex *scalar, APULPF3_ComplexVector *result) |
| APU function for calculating the product of a vector and a scalar. More... | |
| int_fast16_t | APULPF3_vectorSum (APULPF3_ComplexVector *vecA, APULPF3_ComplexVector *vecB, bool subtraction, APULPF3_ComplexVector *result) |
| APU function for calculating the summation of a vector and a scalar. More... | |
| int_fast16_t | APULPF3_vectorR2C (APULPF3_ComplexVector *vecA, APULPF3_ComplexVector *vecB, APULPF3_R2COp operator, APULPF3_ComplexVector *result) |
| APU function for converting vectors back and forth between real and complex number formats. More... | |
| int_fast16_t APULPF3_dotProduct | ( | APULPF3_ComplexVector * | vecA, |
| APULPF3_ComplexVector * | vecB, | ||
| bool | conjugate, | ||
| float complex * | result | ||
| ) |
APU function for calculating the dot product of two vectors, with the option to perform the complex conjugate on the second vector first.
Defined as:
or if conjugate is true:
in which, A, B are complex vectors and c is a complex scalar.
| [in] | vecA | a pointer to input vector A |
| [in] | vecB | a pointer to input vector B |
| [in] | conjugate | whether or not to conjugate vecB |
| [out] | result | a pointer where the output will be placed |
| APULPF3_STATUS_SUCCESS | The call was successful. |
| APULPF3_STATUS_ERROR | The input vectors were of different sizes. |
| int_fast16_t APULPF3_vectorMult | ( | APULPF3_ComplexVector * | vecA, |
| APULPF3_ComplexVector * | vecB, | ||
| bool | conjugate, | ||
| APULPF3_ComplexVector * | result | ||
| ) |
APU function for calculating the element-wise product of two vectors, with the option to perform the complex conjugate on the second vector first.
If both arguments and the result pointer are already within APU memory, the function will be executed in scratchpad mode. This means that it will assume pointers are placed so each of the input and result vectors lie after aeach other in memory.
Defined as:
or if conjugate is true:
in which, A, B and C are complex vectors.
| [in] | vecA | a pointer to input vector A |
| [in] | vecB | a pointer to input vector B |
| [in] | conjugate | whether or not to conjugate vecB |
| [out] | result | a pointer to a vector where the result will be placed |
| APULPF3_STATUS_SUCCESS | The call was successful. |
| APULPF3_STATUS_ERROR | The input vectors were of different sizes. |
| int_fast16_t APULPF3_vectorScalarMult | ( | APULPF3_ComplexVector * | vecA, |
| float complex * | scalar, | ||
| APULPF3_ComplexVector * | result | ||
| ) |
APU function for calculating the product of a vector and a scalar.
Defined as:
in which, A and C are complex vectors and b is a complex scalar.
| [in] | vecA | a pointer to input vector A |
| [in] | scalar | a pointer to a complex scalar |
| [out] | result | a pointer to a vector where the result will be placed |
| APULPF3_STATUS_SUCCESS | The call was successful. |
| int_fast16_t APULPF3_vectorSum | ( | APULPF3_ComplexVector * | vecA, |
| APULPF3_ComplexVector * | vecB, | ||
| bool | subtraction, | ||
| APULPF3_ComplexVector * | result | ||
| ) |
APU function for calculating the summation of a vector and a scalar.
Defined as:
or if subtraction is true:
or if subtraction is true:
in which, A, B and C are complex vectors.
| [in] | vecA | a pointer to input vector A |
| [in] | vecB | a pointer to input vector B |
| [in] | subtraction | subtraction if true, otherwise addition |
| [out] | result | a pointer to a vector where the output will be placed. Its size must be the same as that of the inputs. |
| APULPF3_STATUS_SUCCESS | The call was successful. |
| APULPF3_STATUS_ERROR | The input vectors were of different sizes. |
| int_fast16_t APULPF3_vectorR2C | ( | APULPF3_ComplexVector * | vecA, |
| APULPF3_ComplexVector * | vecB, | ||
| APULPF3_R2COp | operator, | ||
| APULPF3_ComplexVector * | result | ||
| ) |
APU function for converting vectors back and forth between real and complex number formats.
Defined as:
in which, A, B, and Y are N-length complex vectors.
| [in] | vecA | a pointer to input vector A |
| [in] | vecB | a pointer to input vector B. Note that if only vecA is used, vecB is ignored and can be NULL |
| [in] | operator | a conversion operator |
| [out] | result | a pointer where the output will be placed |
| APULPF3_STATUS_SUCCESS | The call was successful. |
| APULPF3_STATUS_ERROR | The input vectors were of different sizes. |