PULP DSP  Version 1.0
Digital Signal Processing library for PULP processors (pulp-platform.org)
 All Classes Files Functions Groups Pages
Functions
Vector Fill Kernels

Functions

void plp_fill_i32s_rv32im (int32_t value, int32_t *__restrict__ pDst, uint32_t blockSize)
 Fills a constant value into a 32-bit integer vector for RV32IM extension. More...
 
void plp_fill_i32s_xpulpv2 (int32_t value, int32_t *__restrict__ pDst, uint32_t blockSize)
 Fills a constant value into a 32-bit integer vector for XPULPV2 extension. More...
 

Detailed Description

Fills the destination vector with a constant value.

    pDst[n] = value;   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):

<pulp> _ <function name> _ <data type> <precision> <method> _ <isa extension>, with
data type = {f, i, q} respectively for floats, integers, fixed points
precision = {32, 16, 8} bits
method = {s, v, p} meaning single (or scalar, i.e. not using packed SIMD), vectorized (i.e. using SIMD instructions), and parallel (for multicore parallel computing), respectively.
isa extension = rv32im, xpulpv2, etc. of which rv32im is the most general one.
 

Function Documentation

void plp_fill_i32s_rv32im ( int32_t  value,
int32_t *__restrict__  pDst,
uint32_t  blockSize 
)

Fills a constant value into a 32-bit integer vector for RV32IM extension.

Parameters
[in]valueinput value to be filled
[out]pDstpoints to output vector
[in]blockSizenumber of samples in each vector
Returns
none
void plp_fill_i32s_xpulpv2 ( int32_t  value,
int32_t *__restrict__  pDst,
uint32_t  blockSize 
)

Fills a constant value into a 32-bit integer vector for XPULPV2 extension.

Parameters
[in]valueinput value to be filled
[out]pDstpoints to output vector
[in]blockSizenumber of samples in each vector
Returns
none