Skip to content

vector scale Kernels

Module: Basic Math Functions / vector scale

More...

Functions

Name
void plp_scale_f32s_xpulpv2(const float32_t restrict pSrc, float32_t scaleFactor, float32_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 32-bit floats on XpulpV2
void plp_scale_i16s_rv32im(const int16_t restrict pSrc, int16_t scaleFactor, int32_t shift, int16_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 16-bit integers on RV32IM
void plp_scale_i16s_xpulpv2(const int16_t restrict pSrc, int16_t scaleFactor, int32_t shift, int16_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 16-bit integers on XpulpV2
void plp_scale_i32s_rv32im(const int32_t restrict pSrc, int32_t scaleFactor, int32_t shift, int32_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 32-bit integers on RV32IM
void plp_scale_i32s_xpulpv2(const int32_t restrict pSrc, int32_t scaleFactor, int32_t shift, int32_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 32-bit integers on XpulpV2
void plp_scale_i8s_rv32im(const int8_t restrict pSrc, int8_t scaleFactor, int32_t shift, int8_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 8-bit integers on RV32IM
void plp_scale_i8s_xpulpv2(const int8_t restrict pSrc, int8_t scaleFactor, int32_t shift, int8_t restrict pDst, uint32_t blockSize)
multiply a vector by a scalar for 8-bit integers on XpulpV2

Detailed Description

Multiply a vector by a scalar value. For floating-point data, the algorithm used is: pDst[n] = pSrc[n] * scale, 0 <= n < blockSize.

Functions Documentation

function plp_scale_f32s_xpulpv2

void plp_scale_f32s_xpulpv2(
    const float32_t *__restrict__ pSrc,
    float32_t scaleFactor,
    float32_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 32-bit floats on XpulpV2

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i16s_rv32im

void plp_scale_i16s_rv32im(
    const int16_t *__restrict__ pSrc,
    int16_t scaleFactor,
    int32_t shift,
    int16_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 16-bit integers on RV32IM

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i16s_xpulpv2

void plp_scale_i16s_xpulpv2(
    const int16_t *__restrict__ pSrc,
    int16_t scaleFactor,
    int32_t shift,
    int16_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 16-bit integers on XpulpV2

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i32s_rv32im

void plp_scale_i32s_rv32im(
    const int32_t *__restrict__ pSrc,
    int32_t scaleFactor,
    int32_t shift,
    int32_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 32-bit integers on RV32IM

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i32s_xpulpv2

void plp_scale_i32s_xpulpv2(
    const int32_t *__restrict__ pSrc,
    int32_t scaleFactor,
    int32_t shift,
    int32_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 32-bit integers on XpulpV2

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i8s_rv32im

void plp_scale_i8s_rv32im(
    const int8_t *__restrict__ pSrc,
    int8_t scaleFactor,
    int32_t shift,
    int8_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 8-bit integers on RV32IM

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • pDst points to the output vector
  • blockSize number of samples in each vector

Return: none

function plp_scale_i8s_xpulpv2

void plp_scale_i8s_xpulpv2(
    const int8_t *__restrict__ pSrc,
    int8_t scaleFactor,
    int32_t shift,
    int8_t *__restrict__ pDst,
    uint32_t blockSize
)

multiply a vector by a scalar for 8-bit integers on XpulpV2

Parameters:

  • pSrc points to the input vector
  • scaleFactor Factor to multiply all elements before shifting
  • shift number of bits to shift the result by
  • 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