Vector Absolute Value
Module: Basic Math Functions
Modules
Name |
---|
Vector Dot Product Kernels |
Functions
Name | |
---|---|
void | plp_abs_i16(const int16_t * pSrc, int16_t * pDst, uint32_t blockSize) Glue code for absolute value of 16-bit integer vectors. |
void | plp_abs_i32(const int32_t * pSrc, int32_t * pDst, uint32_t blockSize) Glue code for absolute value of 32-bit integer vectors. |
void | plp_abs_i8(const int8_t * pSrc, int8_t * pDst, uint32_t blockSize) Glue code for absolute value of 8-bit integer vectors. |
Detailed Description
This module contains the glue code for Vector Absolute Value. The kernel codes (kernels) are in the Moducle Vector Absolute Value Kernels.
The Vector Absolute Value computes the absolute value of a vector on an element-by-element basis. The vectors are multiplied element-by-element and then summed. pDst[n] = abs(pSrc[n]), 0 <= n < blockSize. There are separate functions for floating point, integer, and fixed point 32- 16- 8-bit data types. For lower precision integers (16- and 8-bit), functions exploiting SIMD instructions are provided.
The naming scheme of the functions follows the following pattern (for example plp_dot_prod_i32s):
data type = {f, i, q} respectively for floats, integers, fixed points
precision = {32, 16, 8} bits
method = {s, p} respectively meaning single core or parallel multicore implementation.
isa extension = rv32im, xpulpv2, etc. of which rv32im is the most general one.
Functions Documentation
function plp_abs_i16
void plp_abs_i16(
const int16_t * pSrc,
int16_t * pDst,
uint32_t blockSize
)
Glue code for absolute value of 16-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- blockSize number of samples in each vector
Return: none
function plp_abs_i32
void plp_abs_i32(
const int32_t * pSrc,
int32_t * pDst,
uint32_t blockSize
)
Glue code for absolute value of 32-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- blockSize number of samples in each vector
Return: none
function plp_abs_i8
void plp_abs_i8(
const int8_t * pSrc,
int8_t * pDst,
uint32_t blockSize
)
Glue code for absolute value of 8-bit integer vectors.
Parameters:
- pSrc points to the input vector
- pDst points to the output vector
- blockSize number of samples in each vector
Return: none
Updated on 2023-03-01 at 16:16:32 +0000