NMSIS-DSP  Version 1.2.0
NMSIS DSP Software Library
Kullback-Leibler divergence

Computes the Kullback-Leibler divergence between two distributions. More...

Functions

float16_t riscv_kullback_leibler_f16 (const float16_t *pSrcA, const float16_t *pSrcB, uint32_t blockSize)
 Kullback-Leibler. More...
 
float32_t riscv_kullback_leibler_f32 (const float32_t *pSrcA, const float32_t *pSrcB, uint32_t blockSize)
 Kullback-Leibler. More...
 
float64_t riscv_kullback_leibler_f64 (const float64_t *pSrcA, const float64_t *pSrcB, uint32_t blockSize)
 Kullback-Leibler. More...
 

Detailed Description

Computes the Kullback-Leibler divergence between two distributions.

Function Documentation

◆ riscv_kullback_leibler_f16()

float16_t riscv_kullback_leibler_f16 ( const float16_t *  pSrcA,
const float16_t *  pSrcB,
uint32_t  blockSize 
)

Kullback-Leibler.

Distribution A may contain 0 with Neon version. Result will be right but some exception flags will be set.

Distribution B must not contain 0 probability.

Parameters
[in]*pSrcApoints to an array of input values for probaility distribution A.
[in]*pSrcBpoints to an array of input values for probaility distribution B.
[in]blockSizenumber of samples in the input array.
Returns
Kullback-Leibler divergence D(A || B)

◆ riscv_kullback_leibler_f32()

float32_t riscv_kullback_leibler_f32 ( const float32_t *  pSrcA,
const float32_t *  pSrcB,
uint32_t  blockSize 
)

Kullback-Leibler.

Distribution A may contain 0 with Neon version. Result will be right but some exception flags will be set.

Distribution B must not contain 0 probability.

Parameters
[in]*pSrcApoints to an array of input values for probaility distribution A.
[in]*pSrcBpoints to an array of input values for probaility distribution B.
[in]blockSizenumber of samples in the input array.
Returns
Kullback-Leibler divergence D(A || B)

◆ riscv_kullback_leibler_f64()

float64_t riscv_kullback_leibler_f64 ( const float64_t *  pSrcA,
const float64_t *  pSrcB,
uint32_t  blockSize 
)

Kullback-Leibler.

Parameters
[in]*pSrcApoints to an array of input values for probaility distribution A.
[in]*pSrcBpoints to an array of input values for probaility distribution B.
[in]blockSizenumber of samples in the input array.
Returns
Kullback-Leibler divergence D(A || B)