![]() |
Edge AI Add-on API 2.3.0
|
| nrf_axon_result_e nrf_axon_axpby_24_24_24 | ( | const int32_t * | x_ptr, |
| const int32_t * | y_ptr, | ||
| const int32_t * | a_scalar, | ||
| const int32_t * | b_scalar, | ||
| int32_t * | out_ptr, | ||
| uint16_t | length, | ||
| uint8_t | rounding_bits, | ||
| nrf_axon_syncmode_blocking_e | block_mode, | ||
| bool | keep_reservation ) |
#include <include/drivers/axon/nrf_axon_dsp_intrinsics.h>
"axpby"=>"a times x + b times y" Multiplies each x vector value by "a" and adds the product of "b" and the corresponding y vector value.
| x_ptr | x vector input. 24bit integers unpacked. |
| y_ptr | y vector input. 24bit integers unpacked. |
| a_scalar | Pointer to "a" scalar value. 24bit integers unpacked. |
| b_scalar | Pointer to "b" scalar value. 24bit integers unpacked. |
| out_ptr | output vector. 24bit integers unpacked, no extra stride, and rounded by rounding_bits. output can overlap either or both inputs. |
| length | Number of elements in the vectors (data samples). Must be a multiple of 2, at least 4, and no greater than 512. Does not include the stride. |
| rounding_bits | Number of bits to round the output by. 0 => no rounding, maximum of 31. |
| block_mode | recommnended to be set to NRF_AXON_SYNC_MODE_BLOCKING_POLLING. |
| keep_reservation | set to true if there are subsequent axon operations to execute immediately on completion. true prevents axon from be taken by another user and/or being powered off. Set to false if axon will not be used immediately after to free axon for other users and/or power down if idle. |