Kullback-Leibler divergence

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

Computes the Kullback-Leibler divergence between two distributions.

Functions

RISCV_DSP_ATTRIBUTE 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
  • *pSrcA[in] points to an array of input values for probaility distribution A.

  • *pSrcB[in] points to an array of input values for probaility distribution B.

  • blockSize[in] number of samples in the input array.

Returns

Kullback-Leibler divergence D(A || B)

RISCV_DSP_ATTRIBUTE 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
  • *pSrcA[in] points to an array of input values for probaility distribution A.

  • *pSrcB[in] points to an array of input values for probaility distribution B.

  • blockSize[in] number of samples in the input array.

Returns

Kullback-Leibler divergence D(A || B)

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

Kullback-Leibler.

Parameters
  • *pSrcA[in] points to an array of input values for probaility distribution A.

  • *pSrcB[in] points to an array of input values for probaility distribution B.

  • blockSize[in] number of samples in the input array.

Returns

Kullback-Leibler divergence D(A || B)