]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man3/Q_SIGNSHFT.3
ssh: Update to OpenSSH 9.6p1
[FreeBSD/FreeBSD.git] / share / man / man3 / Q_SIGNSHFT.3
1 .\"
2 .\" Copyright (c) 2018 Netflix, Inc.
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions, and the following disclaimer,
10 .\"    without modification, immediately at the beginning of the file.
11 .\" 2. The name of the author may not be used to endorse or promote products
12 .\"    derived from this software without specific prior written permission.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
18 .\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 .\" SUCH DAMAGE.
25 .\"
26 .Dd July 8, 2018
27 .Dt Q_SIGNSHFT 3
28 .Os
29 .Sh NAME
30 .Nm Q_SIGNSHFT ,
31 .Nm Q_SSIGN ,
32 .Nm Q_CRAWMASK ,
33 .Nm Q_SRAWMASK ,
34 .Nm Q_GCRAW ,
35 .Nm Q_GCVAL ,
36 .Nm Q_SCVAL
37 .Nd fixed-point math functions which manipulate the control/sign data bits
38 .Sh SYNOPSIS
39 .In sys/qmath.h
40 .Ft uint32_t
41 .Fn Q_SIGNSHFT "QTYPE q"
42 .Ft QTYPE
43 .Fn Q_SSIGN "QTYPE q" "bool isneg"
44 .Ft ITYPE
45 .Fn Q_CRAWMASK "QTYPE q"
46 .Ft ITYPE
47 .Fn Q_SRAWMASK "QTYPE q"
48 .Ft ITYPE
49 .Fn Q_GCRAW "QTYPE q"
50 .Ft ITYPE
51 .Fn Q_GCVAL "QTYPE q"
52 .Ft QTYPE
53 .Fn Q_SCVAL "QTYPE q" "ITYPE cv"
54 .Sh DESCRIPTION
55 .Fn Q_SIGNSHFT
56 gets the bit position of
57 .Fa q Ap s
58 sign bit relative to bit zero.
59 .Pp
60 .Fn Q_SSIGN
61 sets the sign bit of
62 .Fa q
63 based on the boolean
64 .Fa isneg .
65 .Pp
66 .Fn Q_CRAWMASK
67 and
68 .Fn Q_SRAWMASK
69 return
70 .Fa q Ns -specific
71 bit masks for
72 .Fa q Ap s
73 control bits and sign bit respectively.
74 .Pp
75 .Fn Q_GCRAW
76 and
77 .Fn Q_GCVAL
78 get the raw masked control bits and value of
79 .Fa q Ap s
80 control bits respectively.
81 .Pp
82 .Fn Q_SCVAL
83 sets
84 .Fa q Ap s
85 control bits to the value
86 .Fa cv .
87 .Pp
88 All of those functions operate on
89 the following data types:
90 .Vt s8q_t ,
91 .Vt u8q_t ,
92 .Vt s16q_t ,
93 .Vt u16q_t ,
94 .Vt s32q_t ,
95 .Vt u32q_t ,
96 .Vt s64q_t ,
97 and
98 .Vt u64q_t ,
99 which are referred to generically as
100 .Fa QTYPE .
101 The
102 .Fa ITYPE
103 refers to the
104 .Xr stdint 7
105 integer types.
106 .Pp
107 For more details, see
108 .Xr qmath 3 .
109 .Sh RETURN VALUES
110 .Fn Q_SIGNSHFT
111 returns the sign bit's position as an integer.
112 .Pp
113 .Fn Q_SSIGN
114 returns the value of
115 .Fa q
116 post change.
117 .Pp
118 .Fn Q_CRAWMASK ,
119 .Fn Q_SRAWMASK ,
120 .Fn Q_GCRAW
121 and
122 .Fn Q_GCVAL
123 return their respective values as integers of the same underlying ITYPE as
124 .Fa q .
125 .Pp
126 .Fn Q_SCVAL
127 returns the value of
128 .Fa q
129 post change.
130 .Sh SEE ALSO
131 .Xr errno 2 ,
132 .Xr qmath 3 ,
133 .Xr stdint 7
134 .Sh HISTORY
135 The
136 .Xr qmath 3
137 functions first appeared in
138 .Fx 13.0 .
139 .Sh AUTHORS
140 .An -nosplit
141 The
142 .Xr qmath 3
143 functions and this manual page were written by
144 .An Lawrence Stewart Aq Mt lstewart@FreeBSD.org
145 and sponsored by Netflix, Inc.