60 inline uint32_t
fp_rndu(uint32_t Q, uint_fast8_t n)
63 else if (n > 32U)
return 0;
68 return (Q >> 1) + (Q & 1U);
80 inline int32_t
fp_rnds(int32_t Q, uint_fast8_t n)
82 return (Q < 0) ? -(int32_t)
fp_rndu((uint32_t)(-Q), n) : (int32_t)
fp_rndu((uint32_t)Q, n);
94 inline uint32_t
fp_truncu(uint32_t Q, uint_fast8_t n)
96 return (n < 32U) ? (Q >> n) : 0;
110 return (Q < 0) ? -(int32_t)
fp_truncu((uint32_t)(-Q), n) : (int32_t)
fp_truncu((uint32_t)Q, n);