aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/stdbit/stdc_first_trailing_zero.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/stdbit/stdc_first_trailing_zero.3')
-rw-r--r--lib/libc/stdbit/stdc_first_trailing_zero.393
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/libc/stdbit/stdc_first_trailing_zero.3 b/lib/libc/stdbit/stdc_first_trailing_zero.3
new file mode 100644
index 000000000000..bc4f7982d765
--- /dev/null
+++ b/lib/libc/stdbit/stdc_first_trailing_zero.3
@@ -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