CSI-DSP  Version 1.0.0
CSI DSP Software Library
Functions
Exponential Function

Functions

q31_t csky_dsp_lib_pow_int32 (q31_t arg_in_x, q15_t arg_exp_in_x, q31_t arg_in_y, q15_t arg_exp_in_y, q31_t *arg_exp_out)
 Fast approximation to the exponential function for float64_t-point data. More...
 

Description

This group includes only one function, which is any value based Exponentional function. The common methods to compute the functions are ploynomial approximation and table loop-up. And, it is a double floating similarly version, whose exponention part and mantissa part are seperated.

Function Documentation

q31_t csky_dsp_lib_pow_int32 ( q31_t  arg_in_x,
q15_t  arg_exp_in_x,
q31_t  arg_in_y,
q15_t  arg_exp_in_y,
q31_t arg_exp_out 
)
Parameters
[in]arg_in_xthe mantissa of the base of pow.
[in]arg_exp_in_xthe exponention of the base of pow.
[in]arg_in_ythe mantissa of the exponention of pow.
[in]arg_exp_in_ythe exponention of the exponention of pow.
[out]arg_exp_outthe exponention of the exponention of result.
Returns
the mantissa of the result.

The implementation is based on the transform x^y = e^(y*log(x)).

The steps used are:

  1. First, calculation of the nearest value of log(x) with series expansion or table look up depending on the range of x.
  2. Then, compute of the nearest value of e^(y*log(x)) with the function e^(x+xx), in which, defferent methods are used based on the range of x.
  3. Finally, some special cases are processed.