Q_FRAWMASK,
Q_GFRAW, Q_GFABSVAL,
Q_GFVAL, Q_SFVAL —
fixed-point math functions which
manipulate the fractional data bits
#include
<sys/qmath.h>
ITYPE
Q_FRAWMASK(QTYPE
q);
ITYPE
Q_GFRAW(QTYPE
q);
ITYPE
Q_GFABSVAL(QTYPE
q);
ITYPE
Q_GFVAL(QTYPE
q);
QTYPE
Q_SFVAL(QTYPE
q, ITYPE fv);
Q_FRAWMASK()
returns a q-specific bit mask for
q's fractional data bits.
Q_GFRAW()
returns q's raw masked fractional data bits.
Q_GFABSVAL()
and
Q_GFVAL()
return the absolute and real values of q's fractional
data bits respectively.
Q_SFVAL()
sets q's fractional data bits to the value
fv.
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_FRAWMASK(),
Q_GFRAW(), Q_GFABSVAL() and
Q_GFVAL() return their respective values as integers
of the same underlying ITYPE as q.
Q_SFVAL() returns the value of
q post set.
The
qmath(3) functions first appeared in FreeBSD
13.0.