tail head cat sleep
QR code linking to this page

Manual Pages  — Q_QADDI

NAME

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

CONTENTS

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, Ap, 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 <Mt lstewart@FreeBSD.org> and sponsored by Netflix, Inc.

Q_QADDI (3) July 8, 2018

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

A computer would deserve to be called intelligent if it could deceive a human into believing that it was human.
— Alan Turing