Vector Copy
Module: Support Functions
Modules
Name |
---|
Vector Copy Kernels |
Functions
Name | |
---|---|
void | plp_copy_f32(float32_t restrict pSrc, float32_t restrict pDst, uint32_t blockSize) Glue code for copying the elements of a 32-bit integer vector. |
void | plp_copy_i32(int32_t restrict pSrc, int32_t restrict pDst, uint32_t blockSize) Glue code for copying the elements of a 32-bit integer vector. |
Detailed Description
Copies sample by sample from source vector to destination vector. pDst[n] = 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_copy_f32
void plp_copy_f32(
float32_t *__restrict__ pSrc,
float32_t *__restrict__ pDst,
uint32_t blockSize
)
Glue code for copying the elements of a 32-bit integer vector.
Parameters:
- pSrc points to input vector
- pDst points to output vector
- blockSize number of samples in each vector
Return: none
Glue code for copying the elements of a 32-bit float vector.
function plp_copy_i32
void plp_copy_i32(
int32_t *__restrict__ pSrc,
int32_t *__restrict__ pDst,
uint32_t blockSize
)
Glue code for copying the elements of a 32-bit integer vector.
Parameters:
- pSrc points to input vector
- pDst points to output vector
- blockSize number of samples in each vector
Return: none
Updated on 2023-03-01 at 16:16:32 +0000