Power
Module: Statistics Functions
Modules
Name |
---|
Power Kernels |
RMS Kernels |
Functions
Name | |
---|---|
void | plp_power_f32(const float restrict pSrc, uint32_t blockSize, float restrict pRes) Glue code for sum of squares of a 32-bit float vector. |
void | plp_power_f32_parallel(const float32_t restrict pSrc, uint32_t blockSize, uint32_t nPE, float32_t restrict pRes) Glue code for parallel power of 32-bit floating point vectors. |
void | plp_power_i16(const int16_t restrict pSrc, uint32_t blockSize, int32_t restrict pRes) Glue code for sum of squares of a 16-bit integer vector. |
void | plp_power_i32(const int32_t restrict pSrc, uint32_t blockSize, int32_t restrict pRes) Glue code for sum of squares of a 32-bit integer vector. |
void | plp_power_i8(const int8_t restrict pSrc, uint32_t blockSize, int32_t restrict pRes) Glue code for sum of squares of a 8-bit integer vector. |
void | plp_power_q16(const int16_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int32_t restrict pRes) Glue code for sum of squares of a 8-bit fixed point vector. |
void | plp_power_q32(const int32_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int32_t restrict pRes) Glue code for sum of squares of a 8-bit fixed point vector. |
void | plp_power_q32_parallel(const int32_t restrict pSrc, uint32_t blockSize, uint32_t deciPoint, uint32_t nPE, int32_t restrict pRes) Glue code for parallel power of 32-bit fixed-point vectors. |
void | plp_power_q8(const int8_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int32_t restrict pRes) Glue code for sum of squares of a 8-bit fixed point vector. |
void | plp_rms_f32(const float restrict pSrc, uint32_t blockSize, float restrict pRes) Glue code for RMS value of a 32-bit float vector. |
void | plp_rms_q16(const int16_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int16_t restrict pRes) Glue code for RMS value of a 8-bit fixed point vector. |
void | plp_rms_q32(const int32_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int32_t restrict pRes) Glue code for RMS value of a 8-bit fixed point vector. |
void | plp_rms_q8(const int8_t restrict pSrc, uint32_t blockSize, uint32_t fracBits, int8_t restrict pRes) Glue code for RMS value of a 8-bit fixed point vector. |
Detailed Description
Calculates the sum of squares of the input vector. 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.
Calculates the RMS value of the input vector. 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_power_f32
void plp_power_f32(
const float *__restrict__ pSrc,
uint32_t blockSize,
float *__restrict__ pRes
)
Glue code for sum of squares of a 32-bit float vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 32-bit float vector.
function plp_power_f32_parallel
void plp_power_f32_parallel(
const float32_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t nPE,
float32_t *__restrict__ pRes
)
Glue code for parallel power of 32-bit floating point vectors.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in each vector
- fracBits number of fixed point fractional bits
- nPE number of parallel processing units
- pRes output result returned here
Return: none
function plp_power_i16
void plp_power_i16(
const int16_t *__restrict__ pSrc,
uint32_t blockSize,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 16-bit integer vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 16-bit integer vector.
function plp_power_i32
void plp_power_i32(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 32-bit integer vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 32-bit integer vector.
function plp_power_i8
void plp_power_i8(
const int8_t *__restrict__ pSrc,
uint32_t blockSize,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 8-bit integer vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 8-bit integer vector.
function plp_power_q16
void plp_power_q16(
const int16_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 16-bit fixed point vector.
function plp_power_q32
void plp_power_q32(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 32-bit fixed point vector.
function plp_power_q32_parallel
void plp_power_q32_parallel(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t deciPoint,
uint32_t nPE,
int32_t *__restrict__ pRes
)
Glue code for parallel power of 32-bit fixed-point vectors.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in each vector
- deciPoint number of fixed point fractional bits
- nPE number of parallel processing units
- pRes output result returned here
Return: none
Glue code for parallel power of 32-bit fixed point vectors.
function plp_power_q8
void plp_power_q8(
const int8_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int32_t *__restrict__ pRes
)
Glue code for sum of squares of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes sum of squares returned here
Return: none
Glue code for Sum of squares of a 8-bit fixed point vector.
function plp_rms_f32
void plp_rms_f32(
const float *__restrict__ pSrc,
uint32_t blockSize,
float *__restrict__ pRes
)
Glue code for RMS value of a 32-bit float vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes RMS value returned here
Return: none
Glue code for Statisical standard deviation of a 32-bit floating point vector.
function plp_rms_q16
void plp_rms_q16(
const int16_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int16_t *__restrict__ pRes
)
Glue code for RMS value of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes RMS value returned here
Return: none
Glue code for Statisical standard deviation of a 16-bit fixed point vector.
function plp_rms_q32
void plp_rms_q32(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int32_t *__restrict__ pRes
)
Glue code for RMS value of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes RMS value returned here
Return: none
Glue code for Statisical standard deviation of a 32-bit fixed point vector.
function plp_rms_q8
void plp_rms_q8(
const int8_t *__restrict__ pSrc,
uint32_t blockSize,
uint32_t fracBits,
int8_t *__restrict__ pRes
)
Glue code for RMS value of a 8-bit fixed point vector.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes RMS value returned here
Return: none
Glue code for Statisical standard deviation of a 8-bit fixed point vector.
Updated on 2023-03-01 at 16:16:32 +0000