Q_IFRAWMASK(3)

NAME
Q_IFRAWMASK, Q_IFVALIMASK, Q_IFVALFMASK, Q_GIFRAW, Q_GIFABSVAL, Q_GIFVAL, Q_SIFVAL, Q_SIFVALS - fixed-point math functions which manipulate the combined integer/fractional data bits

SYNOPSIS
#include <sys/qmath.h>
ITYPE
Q_IFRAWMASK(QTYPE q);
ITYPE
Q_IFVALIMASK(QTYPE q);
ITYPE
Q_IFVALFMASK(QTYPE q);
ITYPE
Q_GIFRAW(QTYPE q);
ITYPE
Q_GIFABSVAL(QTYPE q);
ITYPE
Q_GIFVAL(QTYPE q);
QTYPE
Q_SIFVAL(QTYPE q, ITYPE ifv);
QTYPE
Q_SIFVALS(QTYPE q, ITYPE iv, ITYPE fv);

DESCRIPTION
Q_IFRAWMASK() returns a q-specific bit mask for q's combined integer and fractional data bits.

Q_IFVALIMASK() and Q_IFVALFMASK() return q-specific bit masks for the integer and fractional bits of q's combined integer and fractional data bits value, i.e., are applicable to the values returned by Q_GIFABSVAL() and Q_GIFVAL().

Q_GIFRAW() returns q's raw masked integer/fractional data bits.

Q_GIFABSVAL() and Q_GIFVAL() return the absolute and real values of q's integer/fractional data bits respectively.

Q_SIFVAL() sets q's combined integer/fractional data bits to the value ifv, whereas Q_SIFVALS() independently sets q's integer and fractional data bits to the separate values iv and 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).

RETURN VALUES
Q_IFRAWMASK(), Q_IFVALIMASK(), Q_IFVALFMASK(), Q_GIFABSVAL(), Q_GIFVAL(), Q_GIFRAW(), Q_GIFABSVAL() and Q_GIFVAL() return their respective values as integers of the same underlying ITYPE as q.

Q_SIFVAL() and Q_SIFVALS() return the value of q post change.

SEE ALSO
errno(2), qmath(3), stdint(7)

HISTORY
The qmath(3) functions first appeared in FreeBSD 13.0.

AUTHORS
-nosplit The qmath(3) functions and this manual page were written by Lawrence Stewart <lstewart@FreeBSD.org> and sponsored by Netflix, Inc.