![]() |
Edge AI Add-on API 2.2.0
|
| nrf_axon_result_e nrf_axon_xty_16_16_32_output_stride | ( | const int16_t * | x_ptr, |
| const int16_t * | y_ptr, | ||
| int32_t * | out_ptr, | ||
| uint16_t | length, | ||
| uint8_t | rounding_bits, | ||
| uint8_t | output_extra_stride, | ||
| nrf_axon_syncmode_blocking_e | block_mode, | ||
| bool | keep_reservation ) |
vector multiplies 2 16bit vectors to produce a 32bit vector, with option to have unpacked output vector.
Useful for applying a hamming window on real input before performing an FFT, which requires complex input. Pass output_extra_stride=1 and the output will be placed every other word in the real coefficients slots. A separate function would need to be called to 0 out the imaginary coefficients.
If output_extra_stride is not needed it can be set to 0, but using axon_xty_16_16_32() is preferred for better performance. It performs multiplication of 2 16bit vectors and produces a 32bit output. @parameter out_ptr location to place output. Can safely overlap either input @parameter length number of of elements in the input vectors. Maximum value is 512. @rounding_bits number of bits to round the output by. @parameter output_extra_stride Nuumber of output slots to skip between each output value (skipped slots are not modified)