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_QADDI(3) FreeBSD Library Functions Manual Q_QADDI(3)

Q_QADDI, Q_QDIVI, Q_QMULI, Q_QSUBI, Q_QFRACI, Q_QCPYVALI
fixed-point math functions which apply integers to a Q number

#include <sys/qmath.h>

int
Q_QADDI(QTYPE *a, ITYPE b);

int
Q_QDIVI(QTYPE *a, ITYPE b);

int
Q_QMULI(QTYPE *a, ITYPE b);

int
Q_QSUBI(QTYPE *a, ITYPE b);

int
Q_QFRACI(QTYPE *q, ITYPE n, ITYPE d);

int
Q_QCPYVALI(QTYPE *q, ITYPE i);

The Q_QADDI(), Q_QDIVI(), Q_QMULI() and Q_QSUBI() functions add, divide, multiply or subtract b to/by/from a respectively, storing the result in a.

The Q_QFRACI() function computes the fraction n divided by d and stores the fixed-point result in q.

The Q_QCPYVALI() function overwrites q's integer and fractional bits with the Q representation of integer value i.

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_QADDI(), Q_QDIVI(), Q_QMULI(), Q_QSUBI(), Q_QFRACI() and Q_QCPYVALI() functions return 0 on success, or an errno on failure. EINVAL is returned for divide-by-zero. EOVERFLOW and ERANGE are returned for overflow and underflow respectively.

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.