summaryrefslogtreecommitdiff
path: root/static/freebsd/man3/Q_SIGNSHFT.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man3/Q_SIGNSHFT.3')
-rw-r--r--static/freebsd/man3/Q_SIGNSHFT.3145
1 files changed, 145 insertions, 0 deletions
diff --git a/static/freebsd/man3/Q_SIGNSHFT.3 b/static/freebsd/man3/Q_SIGNSHFT.3
new file mode 100644
index 00000000..ce355560
--- /dev/null
+++ b/static/freebsd/man3/Q_SIGNSHFT.3
@@ -0,0 +1,145 @@
+.\"
+.\" 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_SIGNSHFT 3
+.Os
+.Sh NAME
+.Nm Q_SIGNSHFT ,
+.Nm Q_SSIGN ,
+.Nm Q_CRAWMASK ,
+.Nm Q_SRAWMASK ,
+.Nm Q_GCRAW ,
+.Nm Q_GCVAL ,
+.Nm Q_SCVAL
+.Nd fixed-point math functions which manipulate the control/sign data bits
+.Sh SYNOPSIS
+.In sys/qmath.h
+.Ft uint32_t
+.Fn Q_SIGNSHFT "QTYPE q"
+.Ft QTYPE
+.Fn Q_SSIGN "QTYPE q" "bool isneg"
+.Ft ITYPE
+.Fn Q_CRAWMASK "QTYPE q"
+.Ft ITYPE
+.Fn Q_SRAWMASK "QTYPE q"
+.Ft ITYPE
+.Fn Q_GCRAW "QTYPE q"
+.Ft ITYPE
+.Fn Q_GCVAL "QTYPE q"
+.Ft QTYPE
+.Fn Q_SCVAL "QTYPE q" "ITYPE cv"
+.Sh DESCRIPTION
+.Fn Q_SIGNSHFT
+gets the bit position of
+.Fa q Ap s
+sign bit relative to bit zero.
+.Pp
+.Fn Q_SSIGN
+sets the sign bit of
+.Fa q
+based on the boolean
+.Fa isneg .
+.Pp
+.Fn Q_CRAWMASK
+and
+.Fn Q_SRAWMASK
+return
+.Fa q Ns -specific
+bit masks for
+.Fa q Ap s
+control bits and sign bit respectively.
+.Pp
+.Fn Q_GCRAW
+and
+.Fn Q_GCVAL
+get the raw masked control bits and value of
+.Fa q Ap s
+control bits respectively.
+.Pp
+.Fn Q_SCVAL
+sets
+.Fa q Ap s
+control bits to the value
+.Fa cv .
+.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.
+.Pp
+For more details, see
+.Xr qmath 3 .
+.Sh RETURN VALUES
+.Fn Q_SIGNSHFT
+returns the sign bit's position as an integer.
+.Pp
+.Fn Q_SSIGN
+returns the value of
+.Fa q
+post change.
+.Pp
+.Fn Q_CRAWMASK ,
+.Fn Q_SRAWMASK ,
+.Fn Q_GCRAW
+and
+.Fn Q_GCVAL
+return their respective values as integers of the same underlying ITYPE as
+.Fa q .
+.Pp
+.Fn Q_SCVAL
+returns the value of
+.Fa q
+post change.
+.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.