summaryrefslogtreecommitdiff
path: root/static/freebsd/man3/Q_SIGNED.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man3/Q_SIGNED.3')
-rw-r--r--static/freebsd/man3/Q_SIGNED.3208
1 files changed, 208 insertions, 0 deletions
diff --git a/static/freebsd/man3/Q_SIGNED.3 b/static/freebsd/man3/Q_SIGNED.3
new file mode 100644
index 00000000..528757dc
--- /dev/null
+++ b/static/freebsd/man3/Q_SIGNED.3
@@ -0,0 +1,208 @@
+.\"
+.\" Copyright (c) 2018 Netflix, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions, and the following disclaimer,
+.\" without modification, immediately at the beginning of the file.
+.\" 2. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd July 8, 2018
+.Dt Q_SIGNED 3
+.Os
+.Sh NAME
+.Nm Q_SIGNED ,
+.Nm Q_LTZ ,
+.Nm Q_PRECEQ ,
+.Nm Q_QLTQ ,
+.Nm Q_QLEQ ,
+.Nm Q_QGTQ ,
+.Nm Q_QGEQ ,
+.Nm Q_QEQ ,
+.Nm Q_QNEQ ,
+.Nm Q_OFLOW ,
+.Nm Q_RELPREC
+.Nd fixed-point math comparison and logic functions
+.Sh SYNOPSIS
+.In sys/qmath.h
+.Ft bool
+.Fn Q_SIGNED "NTYPE n"
+.Ft bool
+.Fn Q_LTZ "NTYPE n"
+.Ft bool
+.Fn Q_PRECEQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QLTQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QLEQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QGTQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QGEQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QEQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_QNEQ "QTYPE a" "QTYPE b"
+.Ft bool
+.Fn Q_OFLOW "QTYPE q" "ITYPE iv"
+.Ft int
+.Fn Q_RELPREC "QTYPE a" "QTYPE b"
+.Sh DESCRIPTION
+.Fn Q_SIGNED
+returns
+.Ft true
+if the numeric data type passed in as
+.Fa n
+is signed, or
+.Ft false
+otherwise.
+.Pp
+.Fn Q_LTZ
+returns
+.Ft true
+if the numeric value
+passed in as
+.Fa n
+is negative
+.Pq requires types which use the MSB as the sign bit ,
+or
+.Ft false
+otherwise.
+.Pp
+.Fn Q_PRECEQ
+returns
+.Ft true
+if the number of
+.Fa a
+and
+.Fa b
+fractional bits is the same,
+.Ft false
+otherwise.
+.Pp
+The
+.Fn Q_QLTQ ,
+.Fn Q_QLEQ ,
+.Fn Q_QGTQ ,
+.Fn Q_QGEQ ,
+.Fn Q_QEQ
+and
+.Fn Q_QNEQ
+functions compare two Q numbers, returning
+.Ft true
+if
+.Fa a
+is less than, less than or equal to, greater than, greater than or equal to,
+equal to, or not equal to
+.Fa b
+respectively, or
+.Ft false
+otherwise.
+The integral and fractional values are used to perform the comparison, without
+explicit concern for the underlying number of integer versus fractional bits.
+.Pp
+.Fn Q_OFLOW
+returns
+.Ft true
+if integer value
+.Fa iv
+cannot be stored in
+.Fa q
+without truncation, or false otherwise.
+.Pp
+.Fn Q_RELPREC
+returns the relative precision of
+.Fa a
+versus
+.Fa b .
+In terms of
+.Em Qm.n
+notation, this function returns the difference between the
+.Em n
+values of
+.Fa a
+and
+.Fa b .
+For example, a return value of +4 means that
+.Fa a
+has an additional 4 bits of fractional precision compared to
+.Fa b .
+.Pp
+All of those functions operate on
+the following data types:
+.Vt s8q_t ,
+.Vt u8q_t ,
+.Vt s16q_t ,
+.Vt u16q_t ,
+.Vt s32q_t ,
+.Vt u32q_t ,
+.Vt s64q_t ,
+and
+.Vt u64q_t ,
+which are referred to generically as
+.Fa QTYPE .
+The
+.Fa ITYPE
+refers to the
+.Xr stdint 7
+integer types.
+.Fa NTYPE
+is used to refer to any numeric type and is therefore a superset of
+.Fa QTYPE
+and
+.Fa ITYPE .
+.Pp
+For more details, see
+.Xr qmath 3 .
+.Sh RETURN VALUES
+The
+.Fn Q_SIGNED ,
+.Fn Q_LTZ ,
+.Fn Q_PRECEQ ,
+.Fn Q_QLTQ ,
+.Fn Q_QLEQ ,
+.Fn Q_QGTQ ,
+.Fn Q_QGEQ ,
+.Fn Q_QEQ ,
+.Fn Q_QNEQ
+and
+.Fn Q_OFLOW
+functions return expressions that evaluate to boolean
+.Vt true
+or
+.Vt false .
+.Pp
+.Fn Q_RELPREC
+returns the relative precision difference as a signed integer.
+.Sh SEE ALSO
+.Xr errno 2 ,
+.Xr qmath 3 ,
+.Xr stdint 7
+.Sh HISTORY
+The
+.Xr qmath 3
+functions first appeared in
+.Fx 13.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Xr qmath 3
+functions and this manual page were written by
+.An Lawrence Stewart Aq Mt lstewart@FreeBSD.org
+and sponsored by Netflix, Inc.