Q_QADDI(3) FreeBSD Library Functions Manual Q_QADDI(3)
NAME
Q_QADDI, Q_QDIVI, Q_QMULI, Q_QSUBI, Q_QFRACI, Q_QCPYVALI - fixed-point
math functions which apply integers to a Q number
SYNOPSIS
#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);
DESCRIPTION
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).
RETURN VALUES
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.
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...