CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches
Convert 32-bit floating point value

Functions

void arm_float_to_f16 (const float32_t *pSrc, float16_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to f16 vector.
 
void arm_float_to_f64 (const float32_t *pSrc, float64_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to f64 vector.
 
void arm_float_to_q15 (const float32_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q15 vector.
 
void arm_float_to_q31 (const float32_t *pSrc, q31_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q31 vector.
 
void arm_float_to_q7 (const float32_t *pSrc, q7_t *pDst, uint32_t blockSize)
 Converts the elements of the floating-point vector to Q7 vector.
 

Description

Function Documentation

◆ arm_float_to_f16()

void arm_float_to_f16 ( const float32_t pSrc,
float16_t *  pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to f16 vector.

Converts the elements of the floating-point vector to Q31 vector.

Parameters
[in]pSrcpoints to the f32 input vector
[out]pDstpoints to the f16 output vector
[in]blockSizenumber of samples in each vector

◆ arm_float_to_f64()

void arm_float_to_f64 ( const float32_t pSrc,
float64_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to f64 vector.

Converts the elements of the floating-point vector to 64 bit floating-point vector.

Parameters
[in]pSrcpoints to the f32 input vector
[out]pDstpoints to the f64 output vector
[in]blockSizenumber of samples in each vector

◆ arm_float_to_q15()

void arm_float_to_q15 ( const float32_t pSrc,
q15_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q15 vector.

Parameters
[in]pSrcpoints to the floating-point input vector
[out]pDstpoints to the Q15 output vector
[in]blockSizenumber of samples in each vector
Details
The equation used for the conversion process is:
    pDst[n] = (q15_t)(pSrc[n] * 32768);   0 <= n < blockSize.
Scaling and Overflow Behavior
The function uses saturating arithmetic. Results outside of the allowable Q15 range [0x8000 0x7FFF] are saturated.
Note
In order to apply rounding, the library should be rebuilt with the ROUNDING macro defined in the preprocessor section of project options.

◆ arm_float_to_q31()

void arm_float_to_q31 ( const float32_t pSrc,
q31_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q31 vector.

Parameters
[in]pSrcpoints to the floating-point input vector
[out]pDstpoints to the Q31 output vector
[in]blockSizenumber of samples in each vector
Details
The equation used for the conversion process is:
    pDst[n] = (q31_t)(pSrc[n] * 2147483648);   0 <= n < blockSize.
Scaling and Overflow Behavior
The function uses saturating arithmetic. Results outside of the allowable Q31 range[0x80000000 0x7FFFFFFF] are saturated.
Note
In order to apply rounding, the library should be rebuilt with the ROUNDING macro defined in the preprocessor section of project options.
If the input float values are very big (2**32) then the function won't be able to saturate to the right values. If you expect very big float values in the input array then you should force those values to +1 or -1 before calling this function. For reasonable float values (< 2**32), the function will saturate correctly.

◆ arm_float_to_q7()

void arm_float_to_q7 ( const float32_t pSrc,
q7_t pDst,
uint32_t  blockSize 
)

Converts the elements of the floating-point vector to Q7 vector.

Parameters
[in]*pSrcpoints to the floating-point input vector
[out]*pDstpoints to the Q7 output vector
[in]blockSizelength of the input vector
Description:
The equation used for the conversion process is:
  pDst[n] = (q7_t)(pSrc[n] * 128);   0 <= n < blockSize.
 
Scaling and Overflow Behavior:
The function uses saturating arithmetic. Results outside of the allowable Q7 range [0x80 0x7F] will be saturated.
Note
In order to apply rounding, the library should be rebuilt with the ROUNDING macro defined in the preprocessor section of project options.