summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-07-13 08:29:01 +0000
committerkib <kib@FreeBSD.org>2017-07-13 08:29:01 +0000
commit55a89eef51d5a91be65f136631688b2c5b3371ab (patch)
tree6c1a66bbab73eccac2efaf32a53afccfb297ba2b /share
parentb40b0a78a3a319b57d7920f57f798e7932eece16 (diff)
downloadFreeBSD-src-55a89eef51d5a91be65f136631688b2c5b3371ab.zip
FreeBSD-src-55a89eef51d5a91be65f136631688b2c5b3371ab.tar.gz
MFC r320755,r320762,r320893:
BIT_FLS(9).
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/bitset.926
1 files changed, 24 insertions, 2 deletions
diff --git a/share/man/man9/bitset.9 b/share/man/man9/bitset.9
index d4060ac..1d02eee 100644
--- a/share/man/man9/bitset.9
+++ b/share/man/man9/bitset.9
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 24, 2017
+.Dd July 7, 2017
.Dt BITSET 9
.Os
.Sh NAME
@@ -43,6 +43,7 @@
.Nm BIT_EMPTY ,
.Nm BIT_ISFULLSET ,
.Nm BIT_FFS ,
+.Nm BIT_FLS ,
.Nm BIT_COUNT ,
.Nm BIT_SUBSET ,
.Nm BIT_OVERLAP ,
@@ -85,6 +86,8 @@
.Ft int
.Fn BIT_FFS "const SETSIZE" "struct STRUCTNAME *bitset"
.Ft int
+.Fn BIT_FLS "const SETSIZE" "struct STRUCTNAME *bitset"
+.Ft int
.Fn BIT_COUNT "const SETSIZE" "struct STRUCTNAME *bitset"
.\"
.Ft bool
@@ -282,6 +285,23 @@ index parameter to any other
macro, you must subtract one from the result.
.Pp
The
+.Fn BIT_FLS
+macro returns the 1-index of the last (highest) set bit in
+.Fa bitset ,
+or zero if
+.Fa bitset
+is empty.
+Like with
+.Xr fls 3 ,
+to use the non-zero result of
+.Fn BIT_FLS
+as a
+.Fa bit
+index parameter to any other
+.Nm
+macro, you must subtract one from the result.
+.Pp
+The
.Fn BIT_COUNT
macro returns the total number of set bits in
.Fa bitset .
@@ -499,4 +519,6 @@ argument to all of these macros must match the value given to
.Pp
Unlike every other reference to individual set members, which are zero-indexed,
.Fn BIT_FFS
-returns a one-indexed result (or zero if the set is empty).
+and
+.Fn BIT_FLS
+return a one-indexed result (or zero if the set is empty).
OpenPOWER on IntegriCloud