GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Q_SIGNSHFT(3) FreeBSD Library Functions Manual Q_SIGNSHFT(3)

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

#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);

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).

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.

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

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

The qmath(3) functions and this manual page were written by Lawrence Stewart <lstewart@FreeBSD.org> and sponsored by Netflix, Inc.
July 8, 2018 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.