Q_IFRAWMASK(3) FreeBSD Library Functions Manual 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
The qmath(3) functions and this manual page were written by Lawrence
Stewart <lstewart@FreeBSD.org> and sponsored by Netflix, Inc.
FreeBSD 13.1-RELEASE-p6 July 8, 2018 FreeBSD 13.1-RELEASE-p6
man2web Home...