libc/stdbit: add man pages for stdbit functions
This adds man pages for each group of functions in <stdbit.h>. The man pages have cross references to one-another. Cross references from external man pages to these will be added in a later commit. Reviewed by: pauamma@gundo.com, kib Approved by: markj (mentor) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D53659
This commit is contained in:
@@ -17,3 +17,18 @@ SRCS+= stdc_bit_ceil.c \
|
|||||||
stdc_trailing_zeros.c
|
stdc_trailing_zeros.c
|
||||||
|
|
||||||
SYM_MAPS+=${LIBC_SRCTOP}/stdbit/Symbol.map
|
SYM_MAPS+=${LIBC_SRCTOP}/stdbit/Symbol.map
|
||||||
|
|
||||||
|
MAN+= stdc_bit_ceil.3 \
|
||||||
|
stdc_bit_floor.3 \
|
||||||
|
stdc_bit_width.3 \
|
||||||
|
stdc_count_ones.3 \
|
||||||
|
stdc_count_zeros.3 \
|
||||||
|
stdc_first_leading_one.3 \
|
||||||
|
stdc_first_leading_zero.3 \
|
||||||
|
stdc_first_trailing_one.3 \
|
||||||
|
stdc_first_trailing_zero.3 \
|
||||||
|
stdc_has_single_bit.3 \
|
||||||
|
stdc_leading_ones.3 \
|
||||||
|
stdc_leading_zeros.3 \
|
||||||
|
stdc_trailing_ones.3 \
|
||||||
|
stdc_trailing_zeros.3
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_BIT_CEIL 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_bit_ceil
|
||||||
|
.Nd round up to the next power of\~2
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned char
|
||||||
|
.Fn stdc_bit_ceil_uc "unsigned char value"
|
||||||
|
.Ft unsigned short
|
||||||
|
.Fn stdc_bit_ceil_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_ceil_ui "unsigned int value"
|
||||||
|
.Ft unsigned long
|
||||||
|
.Fn stdc_bit_ceil_ul "unsigned long value"
|
||||||
|
.Ft unsigned long long
|
||||||
|
.Fn stdc_bit_ceil_ull "unsigned long long value"
|
||||||
|
.Ft typeof Ns Pq Em value
|
||||||
|
.Fn stdc_bit_ceil "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_ceil_ Ns Em type Ns ()
|
||||||
|
family of functions rounds
|
||||||
|
.Fa value
|
||||||
|
up to the next power of\~2, where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_bit_ceil "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_bit_ceil_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns
|
||||||
|
.Fa value
|
||||||
|
round up to the next power of\~2.
|
||||||
|
If this value is not representable,
|
||||||
|
0\~is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_bit_floor 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_ceil_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_ceil
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_ceil_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_ceil
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_BIT_FLOOR 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_bit_floor
|
||||||
|
.Nd round down to the previous power of\~2
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned char
|
||||||
|
.Fn stdc_bit_floor_uc "unsigned char value"
|
||||||
|
.Ft unsigned short
|
||||||
|
.Fn stdc_bit_floor_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_floor_ui "unsigned int value"
|
||||||
|
.Ft unsigned long
|
||||||
|
.Fn stdc_bit_floor_ul "unsigned long value"
|
||||||
|
.Ft unsigned long long
|
||||||
|
.Fn stdc_bit_floor_ull "unsigned long long value"
|
||||||
|
.Ft typeof Ns Pq Em value
|
||||||
|
.Fn stdc_bit_floor "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_floor_ Ns Em type Ns ()
|
||||||
|
family of functions rounds
|
||||||
|
.Fa value
|
||||||
|
down to the previous power of\~2, where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_bit_floor "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_bit_floor_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns
|
||||||
|
.Fa value
|
||||||
|
round down to the previous power of\~2.
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is equal to zero,
|
||||||
|
zero is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_bit_ceil 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_floor_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_floor
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_floor_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_floor
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_BIT_WIDTH 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_bit_width
|
||||||
|
.Nd find the first trailing one in an intege
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_bit_width "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_width_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of bits needed to represent
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_bit_width "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_bit_width_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Pp
|
||||||
|
Functions
|
||||||
|
.Fn stdc_bit_width_ui ,
|
||||||
|
.Fn stdc_bit_width_ul ,
|
||||||
|
and
|
||||||
|
.Fn stdc_bit_width_ull
|
||||||
|
are identical to
|
||||||
|
.Bx 4.3
|
||||||
|
functions
|
||||||
|
.Xr fls 3 ,
|
||||||
|
.Xr flsl 3 ,
|
||||||
|
and
|
||||||
|
.Xr flsll 3
|
||||||
|
respectively, except for operating on unsigned instead of signed values.
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the least number of bits needed to represent
|
||||||
|
.Fa value .
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is zero, the return value is zero.
|
||||||
|
Otherwise it is
|
||||||
|
.EQ
|
||||||
|
1 + \(lf log sub 2 italic value \(rf .
|
||||||
|
.EN
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr bit_fls 3 ,
|
||||||
|
.Xr fls 3 ,
|
||||||
|
.Xr flsl 3 ,
|
||||||
|
.Xr flsll 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_count_leading_zeros 3 ,
|
||||||
|
.Xr stdc_first_leading_one 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_width_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_width
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_bit_width_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_bit_width
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_COUNT_ONES 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_count_ones
|
||||||
|
.Nd count the ones in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_ones "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_count_ones_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of bits set to\~1 in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
This is also known as the
|
||||||
|
.Dq population count
|
||||||
|
(popcount) or
|
||||||
|
.Dq Hamming weight
|
||||||
|
operation.
|
||||||
|
The
|
||||||
|
.Fn stdc_count_ones "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_count_ones_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of bits set to\~1 in
|
||||||
|
.Fa value .
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr bit_count 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_count_zeros 3 ,
|
||||||
|
.Xr stdc_has_single_bit 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_count_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_count_ones
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_count_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_count_ones
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_COUNT_ZEROS 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_count_zeros
|
||||||
|
.Nd count the zeros in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_count_zeros "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_count_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of bits set to\~0 in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
This is also known as the
|
||||||
|
.Dq population count
|
||||||
|
(popcount) or
|
||||||
|
.Dq Hamming weight
|
||||||
|
of the complement of
|
||||||
|
.Fa value .
|
||||||
|
The
|
||||||
|
.Fn stdc_count_zeros "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_count_zeros_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of bits set to\~0 in
|
||||||
|
.Fa value .
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_count_ones 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_count_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_count_zeros
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_count_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_count_zeros
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_FIRST_LEADING_ONE 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_first_leading_one
|
||||||
|
.Nd find the first leading one in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_one "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_one_ Ns Em type Ns ()
|
||||||
|
family of functions returns the index of the most significant set bit in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_first_leading_one "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_first_leading_one_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the index of the most significant set bit in
|
||||||
|
.Fa value .
|
||||||
|
The bits are numbered such that the most significant bit has number\~1,
|
||||||
|
and the least significant bit has number
|
||||||
|
.Ms w
|
||||||
|
where
|
||||||
|
.Ms w
|
||||||
|
is the number of bits in the type of
|
||||||
|
.Fa value .
|
||||||
|
If no bits are set in
|
||||||
|
.Fa value
|
||||||
|
(i.\^e.\&
|
||||||
|
.Fa value
|
||||||
|
is zero), zero is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr fls 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_zeros 3 ,
|
||||||
|
.Xr stdc_first_leading_zero 3 ,
|
||||||
|
.Xr stdc_first_trailing_one 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_one_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_leading_one
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_one_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_leading_one
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_FIRST_LEADING_ZERO 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_first_leading_zero
|
||||||
|
.Nd find the first leading zero in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_leading_zero "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_zero_ Ns Em type Ns ()
|
||||||
|
family of functions returns the index of the most significant clear bit in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_first_leading_zero "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_first_leading_zero_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the index of the most significant clear bit in
|
||||||
|
.Fa value .
|
||||||
|
The bits are numbered such that the most significant bit has number\~1,
|
||||||
|
and the least significant bit has number
|
||||||
|
.Ms w
|
||||||
|
where
|
||||||
|
.Ms w
|
||||||
|
is the number of bits in the type of
|
||||||
|
.Fa value .
|
||||||
|
If no bits are clear in
|
||||||
|
.Fa value
|
||||||
|
(i.\^e.\&
|
||||||
|
.Fa value
|
||||||
|
is the bitwise complement of zero), zero is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_ones 3 ,
|
||||||
|
.Xr stdc_first_leading_ones 3 ,
|
||||||
|
.Xr stdc_first_trailing_zero 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_zero_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_leading_zero
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_first_leading_zero_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_leading_zero
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_FIRST_TRAILING_ONE 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_first_trailing_one
|
||||||
|
.Nd find the first trailing one in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_one "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_one_ Ns Em type Ns ()
|
||||||
|
family of functions returns the index of the least significant set bit in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_first_trailing_one "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_first_trailing_one_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Pp
|
||||||
|
Functions
|
||||||
|
.Fn stdc_first_trailing_one_ui ,
|
||||||
|
.Fn stdc_first_trailing_one_ul ,
|
||||||
|
and
|
||||||
|
.Fn stdc_first_trailing_one_ull
|
||||||
|
are identical to
|
||||||
|
.Bx 4.3
|
||||||
|
functions
|
||||||
|
.Xr ffs 3 ,
|
||||||
|
.Xr ffsl 3 ,
|
||||||
|
and
|
||||||
|
.Xr ffsll 3
|
||||||
|
respectively, except for operating on unsigned instead of signed values.
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the index of the least significant set bit in
|
||||||
|
.Fa value .
|
||||||
|
The bits are numbered such that the least significant bit has number\~1,
|
||||||
|
and the most significant bit has number
|
||||||
|
.Ms w
|
||||||
|
where
|
||||||
|
.Ms w
|
||||||
|
is the number of bits in the type of
|
||||||
|
.Fa value .
|
||||||
|
If no bits are set in
|
||||||
|
.Fa value
|
||||||
|
(i.\^e.\&
|
||||||
|
.Fa value
|
||||||
|
is zero), one is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr bit_ffs 3 ,
|
||||||
|
.Xr ffs 3 ,
|
||||||
|
.Xr ffsl 3 ,
|
||||||
|
.Xr ffsll 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_trailing_zeros 3 ,
|
||||||
|
.Xr stdc_first_trailing_zero 3 ,
|
||||||
|
.Xr stdc_first_leading_one 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_one_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_trailing_one
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_one_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_trailing_one
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_FIRST_TRAILING_ZERO 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_first_trailing_zero
|
||||||
|
.Nd find the first trailing zero in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_first_trailing_zero "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_zero_ Ns Em type Ns ()
|
||||||
|
family of functions returns the index of the least significant clear bit in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_first_trailing_zero "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_first_trailing_zero_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the index of the least significant clear bit in
|
||||||
|
.Fa value .
|
||||||
|
The bits are numbered such that the least significant bit has number\~1,
|
||||||
|
and the most significant bit has number
|
||||||
|
.Ms w
|
||||||
|
where
|
||||||
|
.Ms w
|
||||||
|
is the number of bits in the type of
|
||||||
|
.Fa value .
|
||||||
|
If no bits are clear in
|
||||||
|
.Fa value
|
||||||
|
(i.\^e.\&
|
||||||
|
.Fa value
|
||||||
|
is the bitwise complement of zero), zero is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr bit_ffc 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_trailing_ones 3 ,
|
||||||
|
.Xr stdc_first_trailing_ones 3 ,
|
||||||
|
.Xr stdc_first_leading_zero 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_zero_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_trailing_zero
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_first_trailing_zero_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_first_trailing_zero
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_HAS_SINGLE_BIT 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_has_single_bit
|
||||||
|
.Nd check for single bit set
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit_uc "unsigned char value"
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit_us "unsigned short value"
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit_ui "unsigned int value"
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit_ul "unsigned long value"
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit_ull "unsigned long long value"
|
||||||
|
.Ft bool
|
||||||
|
.Fn stdc_has_single_bit "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_has_single_bit_ Ns Em type Ns ()
|
||||||
|
family of functions checks if there is exactly one bit
|
||||||
|
set in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_has_single_bit "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_has_single_bit_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Pp
|
||||||
|
The functions in this family behave similarly to the
|
||||||
|
.Fn powerof2 "value"
|
||||||
|
macro of
|
||||||
|
.In sys/param.h ,
|
||||||
|
but differ when
|
||||||
|
.Fa value
|
||||||
|
is zero: while
|
||||||
|
.Fn powerof2
|
||||||
|
considers zero to be a power of two,
|
||||||
|
.Fn stdc_has_single_bit
|
||||||
|
does not.
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns
|
||||||
|
.Sy true
|
||||||
|
if exactly one bit is set in
|
||||||
|
.Fa value ,
|
||||||
|
otherwise returns
|
||||||
|
.Sy false .
|
||||||
|
I.\^e. the function determines if
|
||||||
|
.Fa value
|
||||||
|
is a power of two.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_count_ones 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_has_single_bit_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_has_single_bit
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_has_single_bit_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_has_single_bit
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_LEADING_ONES 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_leading_ones
|
||||||
|
.Nd find the number of leading ones in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_ones "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_ones_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of leading ones in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_leading_ones "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_leading_ones_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of leading ones in
|
||||||
|
.Fa value .
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is all ones,
|
||||||
|
the total number of bits in the type of
|
||||||
|
.Fa value
|
||||||
|
is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_zeros 3 ,
|
||||||
|
.Xr stdc_trailing_ones 3 ,
|
||||||
|
.Xr stdc_first_leading_zero 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_leading_ones
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_leading_ones
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_LEADING_ZEROS 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_leading_zeros
|
||||||
|
.Nd find the number of leading zeros in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_leading_zeros "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of leading zeros in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_leading_zeros "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_leading_zeros_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of leading zeros in
|
||||||
|
.Fa value .
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is all zeros,
|
||||||
|
the total number of bits in the type of
|
||||||
|
.Fa value
|
||||||
|
is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_ones 3 ,
|
||||||
|
.Xr stdc_trailing_zeros 3 ,
|
||||||
|
.Xr stdc_first_leading_one 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_leading_zeros
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_leading_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_leading_zeros
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_TRAILING_ONES 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_trailing_ones
|
||||||
|
.Nd find the number of trailing ones in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_ones "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_ones_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of trailing ones in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_trailing_ones "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_trailing_ones_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of trailing ones in
|
||||||
|
.Fa value .
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is all ones,
|
||||||
|
the total number of bits in the type of
|
||||||
|
.Fa value
|
||||||
|
is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_ones 3 ,
|
||||||
|
.Xr stdc_trailing_zeros 3 ,
|
||||||
|
.Xr stdc_first_trailing_zero 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_trailing_ones
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_ones_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_trailing_ones
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org>
|
||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
.\"
|
||||||
|
.Dd November 9, 2025
|
||||||
|
.Dt STDC_TRAILING_ZEROS 3
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm stdc_trailing_zeros
|
||||||
|
.Nd find the number of trailing zeros in an integer
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Lb libc
|
||||||
|
.In stdbit.h
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros_uc "unsigned char value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros_us "unsigned short value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros_ui "unsigned int value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros_ul "unsigned long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros_ull "unsigned long long value"
|
||||||
|
.Ft unsigned int
|
||||||
|
.Fn stdc_trailing_zeros "value"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions returns the number of trailing zeros in
|
||||||
|
.Fa value ,
|
||||||
|
where
|
||||||
|
.Fa value
|
||||||
|
is of type
|
||||||
|
.Va unsigned char ,
|
||||||
|
.Va unsigned short ,
|
||||||
|
.Va unsigned int ,
|
||||||
|
.Va unsigned long ,
|
||||||
|
or
|
||||||
|
.Va unsigned long long
|
||||||
|
for
|
||||||
|
.Em type
|
||||||
|
being
|
||||||
|
.Sy uc ,
|
||||||
|
.Sy us ,
|
||||||
|
.Sy ui ,
|
||||||
|
.Sy ul ,
|
||||||
|
or
|
||||||
|
.Sy ull
|
||||||
|
respectively.
|
||||||
|
The
|
||||||
|
.Fn stdc_trailing_zeros "value"
|
||||||
|
type-generic macro picks the appropriate
|
||||||
|
.Nm stdc_trailing_zeros_ Ns Em type Ns ()
|
||||||
|
function based on the type of
|
||||||
|
.Fa value .
|
||||||
|
.Sh RETURN VALUES
|
||||||
|
Returns the number of trailing zeros in
|
||||||
|
.Fa value .
|
||||||
|
If
|
||||||
|
.Fa value
|
||||||
|
is all zeros,
|
||||||
|
the total number of bits in the type of
|
||||||
|
.Fa value
|
||||||
|
is returned.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr ffs 3 ,
|
||||||
|
.Xr stdbit 3 ,
|
||||||
|
.Xr stdc_leading_zeros 3 ,
|
||||||
|
.Xr stdc_trailing_ones 3 ,
|
||||||
|
.Xr stdc_first_trailing_one 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_trailing_zeros
|
||||||
|
type-generic macro conform to
|
||||||
|
.St -isoC-2023 .
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm stdc_trailing_zeros_ Ns Em type Ns ()
|
||||||
|
family of functions and the
|
||||||
|
.Fn stdc_trailing_zeros
|
||||||
|
type-generic macro were added in
|
||||||
|
.Fx 15.1.
|
||||||
|
.Sh AUTHOR
|
||||||
|
.An Robert Clausecker Aq Mt fuz@FreeBSD.org
|
||||||
Reference in New Issue
Block a user