CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
右移函数

函数

__ALWAYS_INLINE q31_t csky_shr_q31 (q31_t a, q31_t shift)
 Q31数的右移 更多...
 
__ALWAYS_INLINE q31_t csky_pshr_q31 (q31_t a, q31_t shift)
 Q31数带舍入的右移 更多...
 
__ALWAYS_INLINE q31_t csky_pshr_pos_q31 (q31_t a, q31_t shift)
 Q31正数带舍入的右移 更多...
 
__ALWAYS_INLINE q63_t csky_pshr_q63 (q63_t a, q31_t shift)
 Q63数带舍入的右移 更多...
 

简要说明

将输入值右移指定数量的字节数,其中基本形式为:

    a = (a) >> (shift),   1 =< shift <= bitof(a) - 1.

基本形式只有32位函数。

还有向正无穷取整的形式:

    a = (a + (1<<(shift - 1)) >> (shift),   1 =< shift <= bitof(a) - 1.

分别为32位,32位正数和63位提供了不同的函数.

函数说明

__ALWAYS_INLINE q31_t csky_pshr_pos_q31 ( q31_t  a,
q31_t  shift 
)
参数
[in]a输入值
[in]shift右移字节数,必须为正数
[out]result右移后的输入值

缩放和溢出时的行为:

这个函数为正数的右移,因此,shift必须在[1,31]之间,并且输出的舍入方式为向正无穷舍入。
__ALWAYS_INLINE q31_t csky_pshr_q31 ( q31_t  a,
q31_t  shift 
)
参数
[in]a输入值
[in]shift右移字节数,必须为正数
[out]result右移后的输入值

缩放和溢出时的行为:

这个函数只能用作右移,因此,shift的值必须在[1,31]之间,并且输出的舍入方式为向正无穷舍入。
__ALWAYS_INLINE q63_t csky_pshr_q63 ( q63_t  a,
q31_t  shift 
)
参数
[in]a输入值
[in]shift右移字节数,必须为正数
[out]result右移后的输入值

缩放和溢出时的行为:

这个函数为正数的右移,因此,shift必须在[1,63]之间,并且输出的舍入方式为向正无穷舍入
__ALWAYS_INLINE q31_t csky_shr_q31 ( q31_t  a,
q31_t  shift 
)
参数
[in]a输入值
[in]shift右移字节数,必须为正数
[out]result右移后的输入值

缩放和溢出时的行为:

这个函数只能用作右移,因此,shift的值必须在[1,31]之间.