Files
freebsd/lib/libc/stdbit/stdc_has_single_bit.3
T
Alexander Ziaee ff2bc64159 manuals: Fix Fx and nearby mechanical typos
Fix compiler warnings related to the Fx macro, as well as all other
mechanical typos that were visible within one screenful of them. These
cause rendering glitches on various toolchains with various of the five
and a half decades of rich output formats and tooling manpages scale to.

The *x macro set specifies operating systems. These macros take the rest
of the line as an argument. Sometimes, a space was not used to separate
the argument of Fx and the trailing period. Another, FreeBSD Foundation
was misrepresented as an operating system version instead of an author.
Two more had other parts of the sentence supplied as an argument to Fx.

While I had those open, fix the other mechancial typos visible on those
specific screenfulls. Fix a list width glitch, correct section typo
AUTHOR to AUTHORS, and switch AUTHORS sections containing prose to
prose-mode so that they wrap freely when rendered.

PR:		297248
MFC after:	3 days
Fixes:		d39e310c7d ("man/man3: add stdbit.3")
Fixes:		d790b16bbf ("add man pages for stdbit functions")
Fixes:		b61850c4e6 ("net.link.bridge.member_ifaddrs to false")
Reported by:	wosch (groff is complaining about incorrect Fx usage)
2026-08-03 20:32:36 -04:00

99 lines
1.9 KiB
Plaintext

.\"
.\" Copyright (c) 2025 Robert Clausecker <[email protected]>
.\"
.\" 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 AUTHORS
.An Robert Clausecker Aq Mt [email protected]