Q_SIGNSHFT(3) FreeBSD Library Functions Manual Q_SIGNSHFT(3)
NAME
Q_SIGNSHFT, Q_SSIGN, Q_CRAWMASK, Q_SRAWMASK, Q_GCRAW, Q_GCVAL, Q_SCVAL -
fixed-point math functions which manipulate the control/sign data bits
SYNOPSIS
#include <sys/qmath.h>
uint32_t
Q_SIGNSHFT(QTYPE q);
QTYPE
Q_SSIGN(QTYPE q, bool isneg);
ITYPE
Q_CRAWMASK(QTYPE q);
ITYPE
Q_SRAWMASK(QTYPE q);
ITYPE
Q_GCRAW(QTYPE q);
ITYPE
Q_GCVAL(QTYPE q);
QTYPE
Q_SCVAL(QTYPE q, ITYPE cv);
DESCRIPTION
Q_SIGNSHFT() gets the bit position of q's sign bit relative to bit zero.
Q_SSIGN() sets the sign bit of q based on the boolean isneg.
Q_CRAWMASK() and Q_SRAWMASK() return q-specific bit masks for q's control
bits and sign bit respectively.
Q_GCRAW() and Q_GCVAL() get the raw masked control bits and value of q's
control bits respectively.
Q_SCVAL() sets q's control bits to the value cv.
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_SIGNSHFT() returns the sign bit's position as an integer.
Q_SSIGN() returns the value of q post change.
Q_CRAWMASK(), Q_SRAWMASK(), Q_GCRAW() and Q_GCVAL() return their
respective values as integers of the same underlying ITYPE as q.
Q_SCVAL() returns 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...