Q_IRAWMASK,
Q_GIRAW, Q_GIABSVAL,
Q_GIVAL, Q_SIVAL —
fixed-point math functions which
manipulate the integer data bits
#include
<sys/qmath.h>
ITYPE
Q_IRAWMASK(QTYPE
q);
ITYPE
Q_GIRAW(QTYPE
q);
ITYPE
Q_GIABSVAL(QTYPE
q);
ITYPE
Q_GIVAL(QTYPE
q);
QTYPE
Q_SIVAL(QTYPE
q, ITYPE iv);
Q_IRAWMASK()
returns a q-specific bit mask for
q's integer data bits.
Q_GIRAW()
returns q's raw masked integer data bits.
Q_GIABSVAL()
and
Q_GIVAL()
return the absolute and real values of q's integer
data bits respectively.
Q_SIVAL()
sets q's integer data bits to the value
iv.
All of those functions operate on the following data types:
s8q_t, u8q_t,
s16q_t, u16q_t,
s32q_t, u32q_t,
s64q_t, and u64q_t, which are
referred to generically as QTYPE. The
ITYPE refers to the
stdint(7) integer types.
For more details, see
qmath(3).
Q_IRAWMASK(),
Q_GIRAW(), Q_GIABSVAL() and
Q_GIVAL() return their respective values as integers
of the same underlying ITYPE as q.
Q_SIVAL() returns the value of
q post change.
The
qmath(3) functions first appeared in FreeBSD
13.0.