LIBDSP Version 4.1.9
LIBDSP Software Library
Loading...
Searching...
No Matches
riscv_math_support.h File Reference
This graph shows which files directly or indirectly include this file:

Data Structures

struct  riscv_sort_instance_f32
struct  riscv_merge_sort_instance_f32
struct  riscv_spline_instance_f32

Macros

#define INDEX_MASK   0x0000003F
#define RISCV_SQ(x)
#define __STATIC_INLINE   static inline
#define riscv_weighted_average_f16(in, weights, blockSize)
#define riscv_weighted_average_f32(in, weights, blockSize)
#define riscv_copy_f64(pSrc, pDst, blockSize)
#define riscv_copy_f32(pSrc, pDst, blockSize)
#define riscv_copy_q7(pSrc, pDst, blockSize)
#define riscv_copy_q15(pSrc, pDst, blockSize)
#define riscv_copy_q31(pSrc, pDst, blockSize)
#define riscv_fill_f32(value, pDst, blockSize)
#define riscv_fill_q7(value, pDst, blockSize)
#define riscv_fill_q15(value, pDst, blockSize)
#define riscv_fill_q31(value, pDst, blockSize)
#define riscv_f16_to_f64(pSrc, pDst, blockSize)
#define riscv_f16_to_float(pSrc, pDst, blockSize)
#define riscv_f16_to_q15(pSrc, pDst, blockSize)
#define riscv_float_to_f16(pSrc, pDst, blockSize)
#define riscv_float_to_f64(pSrc, pDst, blockSize)
#define riscv_float_to_q15(pSrc, pDst, blockSize)
#define riscv_float_to_q31(pSrc, pDst, blockSize)
#define riscv_float_to_q7(pSrc, pDst, blockSize)
#define riscv_f64_to_f16(pSrc, pDst, blockSize)
#define riscv_f64_to_float(pSrc, pDst, blockSize)
#define riscv_f64_to_q7(pSrc, pDst, blockSize)
#define riscv_f64_to_q15(pSrc, pDst, blockSize)
#define riscv_f64_to_q31(pSrc, pDst, blockSize)
#define riscv_q15_to_float(pSrc, pDst, blockSize)
#define riscv_q15_to_f16(pSrc, pDst, blockSize)
#define riscv_q15_to_q31(pSrc, pDst, blockSize)
#define riscv_q15_to_q7(pSrc, pDst, blockSize)
#define riscv_q31_to_float(pSrc, pDst, blockSize)
#define riscv_q31_to_q15(pSrc, pDst, blockSize)
#define riscv_q31_to_q7(pSrc, pDst, blockSize)
#define riscv_q7_to_float(pSrc, pDst, blockSize)
#define riscv_q7_to_q15(pSrc, pDst, blockSize)
#define riscv_q7_to_q31(pSrc, pDst, blockSize)
#define riscv_div_int64_to_int32(num, den)
#define riscv_sort_f32(S, pSrc, pDst, blockSize)
#define riscv_merge_sort_f32(S, pSrc, pDst, blockSize)
#define riscv_linear_interp_instance_f32   tpt_linear_interpolate_f32_t
#define riscv_bilinear_interp_instance_f32   tpt_bilinear_interpolate_f32_t
#define riscv_bilinear_interp_instance_q31   tpt_bilinear_interpolate_q31_t
#define riscv_bilinear_interp_instance_q15   tpt_bilinear_interpolate_q15_t
#define riscv_bilinear_interp_instance_q7   tpt_bilinear_interpolate_q7_t
#define riscv_linear_interp_f32(S, x)
#define riscv_linear_interp_q31(pYData, x, nValues)
#define riscv_linear_interp_q15(pYData, x, nValues)
#define riscv_linear_interp_q7(pYData, x, nValues)
#define riscv_bilinear_interp_f32(S, X, Y)
#define riscv_bilinear_interp_q31(S, X, Y)
#define riscv_bilinear_interp_q15(S, X, Y)
#define riscv_bilinear_interp_q7(S, X, Y)
#define riscv_barycenter_f16(in, weights, out, nbVectors, vecDim)

Enumerations

enum  riscv_sort_alg {
  RISCV_SORT_BITONIC = 0 , RISCV_SORT_BUBBLE = 1 , RISCV_SORT_HEAP = 2 , RISCV_SORT_INSERTION = 3 ,
  RISCV_SORT_QUICK = 4 , RISCV_SORT_SELECTION = 5
}
enum  riscv_sort_dir { RISCV_SORT_DESCENDING = 0 , RISCV_SORT_ASCENDING = 1 }
enum  riscv_spline_type { RISCV_SPLINE_NATURAL = 0 , RISCV_SPLINE_PARABOLIC_RUNOUT = 1 }

Functions

static uint32_t riscv_recip_q31 (q31_t in, q31_t *dst, const q31_t *pRecipTable)
static uint32_t riscv_recip_q15 (q15_t in, q15_t *dst, const q15_t *pRecipTable)
static float32_t riscv_exponent_f32 (float32_t x, int32_t nb)
static void riscv_norm_64_to_32u (uint64_t in, int32_t *normalized, int32_t *norm)
static q31_t riscv_div_q63_to_q31 (q63_t num, q31_t den)
static void riscv_sort_init_f32 (riscv_sort_instance_f32 *S, riscv_sort_alg alg, riscv_sort_dir dir)
static void riscv_merge_sort_init_f32 (riscv_merge_sort_instance_f32 *S, riscv_sort_dir dir, f32_t *buffer)
static void riscv_spline_f32 (riscv_spline_instance_f32 *S, const float32_t *xq, float32_t *pDst, uint32_t blockSize)
static void riscv_spline_init_f32 (riscv_spline_instance_f32 *S, riscv_spline_type type, const f32_t *x, const f32_t *y, uint32_t n, f32_t *coeffs, f32_t *tempBuffer)
static float32_t riscv_weighted_sum_f32 (const float32_t *in, const float32_t *weigths, uint32_t blockSize)
static void riscv_barycenter_f32 (const float32_t *in, const float32_t *weights, float32_t *out, uint32_t nbVectors, uint32_t vecDim)

Macro Definition Documentation

◆ __STATIC_INLINE

#define __STATIC_INLINE   static inline

◆ INDEX_MASK

#define INDEX_MASK   0x0000003F

◆ riscv_barycenter_f16

#define riscv_barycenter_f16 ( in,
weights,
out,
nbVectors,
vecDim )
Value:
tpt_barycenter_f16(in, weights, out, nbVectors, vecDim)
void tpt_barycenter_f16(const f16_t *in, const f16_t *weights, f16_t *out, uint32_t nbVectors, uint32_t vecDim)
Barycenter.

◆ riscv_bilinear_interp_f32

#define riscv_bilinear_interp_f32 ( S,
X,
Y )
Value:
#define Y(format)
Definition arm_math_transform.h:933
#define X(len, format)
Definition arm_math_transform.h:918
static f32_t tpt_bilinear_interpolate_f32(const tpt_bilinear_interpolate_f32_t *aFunction, f32_t aX, f32_t aY)
Floating-point bilinear interpolation.
Definition tpt_math_dsp.h:1264

◆ riscv_bilinear_interp_instance_f32

#define riscv_bilinear_interp_instance_f32   tpt_bilinear_interpolate_f32_t

◆ riscv_bilinear_interp_instance_q15

#define riscv_bilinear_interp_instance_q15   tpt_bilinear_interpolate_q15_t

◆ riscv_bilinear_interp_instance_q31

#define riscv_bilinear_interp_instance_q31   tpt_bilinear_interpolate_q31_t

◆ riscv_bilinear_interp_instance_q7

#define riscv_bilinear_interp_instance_q7   tpt_bilinear_interpolate_q7_t

◆ riscv_bilinear_interp_q15

#define riscv_bilinear_interp_q15 ( S,
X,
Y )
Value:
static q15_t tpt_bilinear_interpolate_q15(tpt_bilinear_interpolate_q15_t *aFunction, q31_t aX, q31_t aY)
Q15 bilinear interpolation.
Definition tpt_math_dsp.h:1405

◆ riscv_bilinear_interp_q31

#define riscv_bilinear_interp_q31 ( S,
X,
Y )
Value:
static q31_t tpt_bilinear_interpolate_q31(tpt_bilinear_interpolate_q31_t *aFunction, q31_t aX, q31_t aY)
Q31 bilinear interpolation.
Definition tpt_math_dsp.h:1329

◆ riscv_bilinear_interp_q7

#define riscv_bilinear_interp_q7 ( S,
X,
Y )
Value:
static q7_t tpt_bilinear_interpolate_q7(tpt_bilinear_interpolate_q7_t *aFunction, q31_t aX, q31_t aY)
Q7 bilinear interpolation.
Definition tpt_math_dsp.h:1484

◆ riscv_copy_f32

#define riscv_copy_f32 ( pSrc,
pDst,
blockSize )
Value:
tpt_copy_f32(pDst, pSrc, blockSize)
void tpt_copy_f32(f32_t *aOutData, const f32_t *aInData, uint32_t aCount)
Copies the elements of a floating-point vector.
Definition tpt_copy_f32.c:40

◆ riscv_copy_f64

#define riscv_copy_f64 ( pSrc,
pDst,
blockSize )
Value:
tpt_copy_f64(pDst, pSrc, blockSize)
void tpt_copy_f64(f64_t *aOutData, const f64_t *aInData, uint32_t aCount)
Copies the elements of a floating-point vector.
Definition tpt_copy_f64.c:56

◆ riscv_copy_q15

#define riscv_copy_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_copy_q15(pDst, pSrc, blockSize)
void tpt_copy_q15(q15_t *aOutData, const q15_t *aInData, uint32_t aCount)
Copies the elements of a Q15 vector.
Definition tpt_copy_q15.c:27

◆ riscv_copy_q31

#define riscv_copy_q31 ( pSrc,
pDst,
blockSize )
Value:
tpt_copy_q31(pDst, pSrc, blockSize)
void tpt_copy_q31(q31_t *aOutData, const q31_t *aInData, uint32_t aCount)
Copies the elements of a Q31 vector.
Definition tpt_copy_q31.c:27

◆ riscv_copy_q7

#define riscv_copy_q7 ( pSrc,
pDst,
blockSize )
Value:
tpt_copy_q7(pDst, pSrc, blockSize)
void tpt_copy_q7(q7_t *aOutData, const q7_t *aInData, uint32_t aCount)
Copies the elements of a Q7 vector.
Definition tpt_copy_q7.c:27

◆ riscv_div_int64_to_int32

#define riscv_div_int64_to_int32 ( num,
den )
Value:
({ \
uint64_t _abs_num = ABS(num, 63); \
int32_t _norm, _normalized; \
riscv_norm_64_to_32u(_abs_num, &_normalized, &_norm); \
(_norm > 0 ? (int32_t)(num / den) : (int32_t)(num / (int64_t)den)); \
})
#define ABS(val, bit)
Definition tpt_math_dsp.h:246

◆ riscv_f16_to_f64

#define riscv_f16_to_f64 ( pSrc,
pDst,
blockSize )
Value:
tpt_f16_to_f64(pDst, pSrc, blockSize)
void tpt_f16_to_f64(f64_t *pDst, const f16_t *pSrc, uint32_t blockSize)
Converts the elements of the 16 bit floating-point vector to 64 bit floating-point vector.

◆ riscv_f16_to_float

#define riscv_f16_to_float ( pSrc,
pDst,
blockSize )
Value:
tpt_f16_to_f32(pDst, pSrc, blockSize)
void tpt_f16_to_f32(f32_t *pDst, const f16_t *pSrc, uint32_t blockSize)
Converts the elements of the floating-point vector to floating-point vector.

◆ riscv_f16_to_q15

#define riscv_f16_to_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_f16_to_q15(pDst, pSrc, blockSize)
void tpt_f16_to_q15(q15_t *pDst, const f16_t *pSrc, uint32_t blockSize)
Converts the elements of the floating-point vector to Q15 vector.

◆ riscv_f64_to_f16

#define riscv_f64_to_f16 ( pSrc,
pDst,
blockSize )
Value:
tpt_f64_to_f16(pDst, pSrc, blockSize)
void tpt_f64_to_f16(f16_t *pDst, const f64_t *pSrc, uint32_t blockSize)
Converts the elements of the 64 bit floating-point vector to 16 bit floating-point vector.

◆ riscv_f64_to_float

#define riscv_f64_to_float ( pSrc,
pDst,
blockSize )
Value:
tpt_f64_to_f32(pDst, pSrc, blockSize)
void tpt_f64_to_f32(f32_t *pDst, const f64_t *pSrc, uint32_t blockSize)
Converts the elements of the 64 bit floating-point vector to floating-point vector.
Definition tpt_f64_to_f32.c:54

◆ riscv_f64_to_q15

#define riscv_f64_to_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_f64_to_q15(pDst, pSrc, blockSize)
void tpt_f64_to_q15(q15_t *aOutData, const f64_t *aInData, uint32_t aCount)
Converts the elements of the floating-point vector to Q15 vector.
Definition tpt_f64_to_q15.c:39

◆ riscv_f64_to_q31

#define riscv_f64_to_q31 ( pSrc,
pDst,
blockSize )
Value:
tpt_f64_to_q31(pDst, pSrc, blockSize)
void tpt_f64_to_q31(q31_t *pDst, const f64_t *pSrc, uint32_t blockSize)
Converts the elements of the 64 bit floating-point vector to Q31 vector.
Definition tpt_f64_to_q31.c:43

◆ riscv_f64_to_q7

#define riscv_f64_to_q7 ( pSrc,
pDst,
blockSize )
Value:
tpt_f64_to_q7(pDst, pSrc, blockSize)
void tpt_f64_to_q7(q7_t *pDst, const f64_t *pSrc, uint32_t blockSize)
Converts the elements of the 64 bit floating-point vector to Q7 vector.
Definition tpt_f64_to_q7.c:38

◆ riscv_fill_f32

#define riscv_fill_f32 ( value,
pDst,
blockSize )
Value:
tpt_fill_f32(pDst, value, blockSize)
void tpt_fill_f32(f32_t *aOutData, f32_t aValue, uint32_t aCount)
Fills a constant value into a floating-point vector.
Definition tpt_fill_f32.c:40

◆ riscv_fill_q15

#define riscv_fill_q15 ( value,
pDst,
blockSize )
Value:
tpt_fill_q15(pDst, value, blockSize)
void tpt_fill_q15(q15_t *aOutData, q15_t aValue, uint32_t aCount)
Fills a constant value into a Q15 vector.
Definition tpt_fill_q15.c:27

◆ riscv_fill_q31

#define riscv_fill_q31 ( value,
pDst,
blockSize )
Value:
tpt_fill_q31(pDst, value, blockSize)
void tpt_fill_q31(q31_t *aOutData, q31_t aValue, uint32_t aCount)
Fills a constant value into a Q31 vector.
Definition tpt_fill_q31.c:27

◆ riscv_fill_q7

#define riscv_fill_q7 ( value,
pDst,
blockSize )
Value:
tpt_fill_q7(pDst, value, blockSize)
void tpt_fill_q7(q7_t *aOutData, q7_t aValue, uint32_t aCount)
Fills a constant value into a Q7 vector.
Definition tpt_fill_q7.c:27

◆ riscv_float_to_f16

#define riscv_float_to_f16 ( pSrc,
pDst,
blockSize )
Value:
tpt_f32_to_f16(pDst, pSrc, blockSize)
void tpt_f32_to_f16(f16_t *pDst, const f32_t *pSrc, uint32_t blockSize)
Converts the elements of the floating-point vector to floating-point vector.

◆ riscv_float_to_f64

#define riscv_float_to_f64 ( pSrc,
pDst,
blockSize )
Value:
tpt_f32_to_f64(pDst, pSrc, blockSize)
void tpt_f32_to_f64(f64_t *pDst, const f32_t *pSrc, uint32_t blockSize)
Converts the elements of the floating-point vector to 64 bit floating-point vector.
Definition tpt_f32_to_f64.c:53

◆ riscv_float_to_q15

#define riscv_float_to_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_f32_to_q15(pDst, pSrc, blockSize)
void tpt_f32_to_q15(q15_t *aOutData, const f32_t *aInData, uint32_t aCount)
Converts the elements of the floating-point vector to Q15 vector.
Definition tpt_f32_to_q15.c:39

◆ riscv_float_to_q31

#define riscv_float_to_q31 ( pSrc,
pDst,
blockSize )
Value:
tpt_f32_to_q31(pDst, pSrc, blockSize)
void tpt_f32_to_q31(q31_t *aOutData, const f32_t *aInData, uint32_t aCount)
Converts the elements of the floating-point vector to Q31 vector.
Definition tpt_f32_to_q31.c:43

◆ riscv_float_to_q7

#define riscv_float_to_q7 ( pSrc,
pDst,
blockSize )
Value:
tpt_f32_to_q7(pDst, pSrc, blockSize)
void tpt_f32_to_q7(q7_t *aOutData, const f32_t *aInData, uint32_t aCount)
Converts the elements of the floating-point vector to Q7 vector.
Definition tpt_f32_to_q7.c:38

◆ riscv_linear_interp_f32

#define riscv_linear_interp_f32 ( S,
x )
Value:
static f32_t tpt_linear_interpolate_f32(tpt_linear_interpolate_f32_t *aFunction, f32_t aX)
Process function for the floating-point Linear Interpolation Function.
Definition tpt_math_dsp.h:979

◆ riscv_linear_interp_instance_f32

#define riscv_linear_interp_instance_f32   tpt_linear_interpolate_f32_t

◆ riscv_linear_interp_q15

#define riscv_linear_interp_q15 ( pYData,
x,
nValues )
Value:
tpt_linear_interpolate_q15(pYData, x, nValues)
static q15_t tpt_linear_interpolate_q15(q15_t *pYData, q31_t aX, uint32_t nValues)
Process function for the Q15 Linear Interpolation Function.
Definition tpt_math_dsp.h:1085

◆ riscv_linear_interp_q31

#define riscv_linear_interp_q31 ( pYData,
x,
nValues )
Value:
tpt_linear_interpolate_q31(pYData, x, nValues)
static q31_t tpt_linear_interpolate_q31(q31_t *pYData, q31_t aX, uint32_t nValues)
Process function for the Q31 Linear Interpolation Function.
Definition tpt_math_dsp.h:1032

◆ riscv_linear_interp_q7

#define riscv_linear_interp_q7 ( pYData,
x,
nValues )
Value:
tpt_linear_interpolate_q7(pYData, x, nValues)
static q7_t tpt_linear_interpolate_q7(q7_t *pYData, q31_t aX, uint32_t nValues)
Process function for the Q7 Linear Interpolation Function.
Definition tpt_math_dsp.h:1138

◆ riscv_merge_sort_f32

#define riscv_merge_sort_f32 ( S,
pSrc,
pDst,
blockSize )
Value:
tpt_merge_sort_f32(pDst, pSrc, blockSize, (S)->dir)
void tpt_merge_sort_f32(f32_t *aOutData, f32_t *aInData, uint32_t aCount, bool aDir)
Floating point merge sort.
Definition tpt_merge_sort_f32.c:64

◆ riscv_q15_to_f16

#define riscv_q15_to_f16 ( pSrc,
pDst,
blockSize )
Value:
tpt_q15_to_f16(pDst, pSrc, blockSize)
void tpt_q15_to_f16(f16_t *pDst, const q15_t *pSrc, uint32_t blockSize)
Converts the elements of the Q15 vector to floating-point vector.

◆ riscv_q15_to_float

#define riscv_q15_to_float ( pSrc,
pDst,
blockSize )
Value:
tpt_q15_to_f32(pDst, pSrc, blockSize)
void tpt_q15_to_f32(f32_t *aOutData, const q15_t *aInData, uint32_t aCount)
Converts the elements of the Q15 vector to floating-point vector.
Definition tpt_q15_to_f32.c:38

◆ riscv_q15_to_q31

#define riscv_q15_to_q31 ( pSrc,
pDst,
blockSize )
Value:
tpt_q15_to_q31(pDst, pSrc, blockSize)
void tpt_q15_to_q31(q31_t *pDst, const q15_t *pSrc, uint32_t blockSize)
Converts the elements of the Q15 vector to Q31 vector.
Definition tpt_q15_to_q31.c:58

◆ riscv_q15_to_q7

#define riscv_q15_to_q7 ( pSrc,
pDst,
blockSize )
Value:
tpt_q15_to_q7(pDst, pSrc, blockSize)
void tpt_q15_to_q7(q7_t *pDst, const q15_t *pSrc, uint32_t blockSize)
Converts the elements of the Q15 vector to Q7 vector.
Definition tpt_q15_to_q7.c:58

◆ riscv_q31_to_float

#define riscv_q31_to_float ( pSrc,
pDst,
blockSize )
Value:
tpt_q31_to_f32(pDst, pSrc, blockSize)
void tpt_q31_to_f32(f32_t *aOutData, const q31_t *aInData, uint32_t aCount)
Converts the elements of the Q31 vector to floating-point vector.
Definition tpt_q31_to_f32.c:38

◆ riscv_q31_to_q15

#define riscv_q31_to_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_q31_to_q15(pDst, pSrc, blockSize)
void tpt_q31_to_q15(q15_t *pDst, const q31_t *pSrc, uint32_t blockSize)
Converts the elements of the Q31 vector to Q15 vector.
Definition tpt_q31_to_q15.c:58

◆ riscv_q31_to_q7

#define riscv_q31_to_q7 ( pSrc,
pDst,
blockSize )
Value:
tpt_q31_to_q7(pDst, pSrc, blockSize)
void tpt_q31_to_q7(q7_t *pDst, const q31_t *pSrc, uint32_t blockSize)
Converts the elements of the Q31 vector to Q7 vector.
Definition tpt_q31_to_q7.c:58

◆ riscv_q7_to_float

#define riscv_q7_to_float ( pSrc,
pDst,
blockSize )
Value:
tpt_q7_to_f32(pDst, pSrc, blockSize)
void tpt_q7_to_f32(f32_t *aOutData, const q7_t *aInData, uint32_t aCount)
Converts the elements of the Q7 vector to floating-point vector.
Definition tpt_q7_to_f32.c:37

◆ riscv_q7_to_q15

#define riscv_q7_to_q15 ( pSrc,
pDst,
blockSize )
Value:
tpt_q7_to_q15(pDst, pSrc, blockSize)
void tpt_q7_to_q15(q15_t *pDst, const q7_t *pSrc, uint32_t blockSize)
Converts the elements of the Q7 vector to Q15 vector.
Definition tpt_q7_to_q15.c:59

◆ riscv_q7_to_q31

#define riscv_q7_to_q31 ( pSrc,
pDst,
blockSize )
Value:
tpt_q7_to_q31(pDst, pSrc, blockSize)
void tpt_q7_to_q31(q31_t *pDst, const q7_t *pSrc, uint32_t blockSize)
Converts the elements of the Q7 vector to Q31 vector.
Definition tpt_q7_to_q31.c:58

◆ riscv_sort_f32

#define riscv_sort_f32 ( S,
pSrc,
pDst,
blockSize )
Value:
tpt_sort_f32(pDst, pSrc, blockSize, (S)->dir)
void tpt_sort_f32(f32_t *aOutData, const f32_t *aInData, uint32_t aCount, bool aDir)
Default sorting function.
Definition tpt_sort_f32.c:104

◆ RISCV_SQ

#define RISCV_SQ ( x)
Value:
((x) * (x))

◆ riscv_weighted_average_f16

#define riscv_weighted_average_f16 ( in,
weights,
blockSize )
Value:
tpt_weighted_average_f16(in, weights, blockSize)
f16_t tpt_weighted_average_f16(const f16_t *in, const f16_t *weights, uint32_t blockSize)
Weighted average.

◆ riscv_weighted_average_f32

#define riscv_weighted_average_f32 ( in,
weights,
blockSize )
Value:
tpt_weighted_average_f32(in, weights, blockSize)
f32_t tpt_weighted_average_f32(const f32_t *in, const f32_t *weights, uint32_t blockSize)
Weighted average.
Definition tpt_weighted_average_f32.c:59

Enumeration Type Documentation

◆ riscv_sort_alg

Enumerator
RISCV_SORT_BITONIC 
RISCV_SORT_BUBBLE 
RISCV_SORT_HEAP 
RISCV_SORT_INSERTION 
RISCV_SORT_QUICK 
RISCV_SORT_SELECTION 

◆ riscv_sort_dir

Enumerator
RISCV_SORT_DESCENDING 
RISCV_SORT_ASCENDING 

◆ riscv_spline_type

Enumerator
RISCV_SPLINE_NATURAL 
RISCV_SPLINE_PARABOLIC_RUNOUT 

Function Documentation

◆ riscv_barycenter_f32()

void riscv_barycenter_f32 ( const float32_t * in,
const float32_t * weights,
float32_t * out,
uint32_t nbVectors,
uint32_t vecDim )
inlinestatic

◆ riscv_div_q63_to_q31()

q31_t riscv_div_q63_to_q31 ( q63_t num,
q31_t den )
inlinestatic

◆ riscv_exponent_f32()

float32_t riscv_exponent_f32 ( float32_t x,
int32_t nb )
inlinestatic

◆ riscv_merge_sort_init_f32()

void riscv_merge_sort_init_f32 ( riscv_merge_sort_instance_f32 * S,
riscv_sort_dir dir,
f32_t * buffer )
inlinestatic

◆ riscv_norm_64_to_32u()

void riscv_norm_64_to_32u ( uint64_t in,
int32_t * normalized,
int32_t * norm )
inlinestatic

◆ riscv_recip_q15()

uint32_t riscv_recip_q15 ( q15_t in,
q15_t * dst,
const q15_t * pRecipTable )
inlinestatic

◆ riscv_recip_q31()

uint32_t riscv_recip_q31 ( q31_t in,
q31_t * dst,
const q31_t * pRecipTable )
inlinestatic

◆ riscv_sort_init_f32()

void riscv_sort_init_f32 ( riscv_sort_instance_f32 * S,
riscv_sort_alg alg,
riscv_sort_dir dir )
inlinestatic

◆ riscv_spline_f32()

void riscv_spline_f32 ( riscv_spline_instance_f32 * S,
const float32_t * xq,
float32_t * pDst,
uint32_t blockSize )
inlinestatic

◆ riscv_spline_init_f32()

void riscv_spline_init_f32 ( riscv_spline_instance_f32 * S,
riscv_spline_type type,
const f32_t * x,
const f32_t * y,
uint32_t n,
f32_t * coeffs,
f32_t * tempBuffer )
inlinestatic

◆ riscv_weighted_sum_f32()

float32_t riscv_weighted_sum_f32 ( const float32_t * in,
const float32_t * weigths,
uint32_t blockSize )
inlinestatic