summaryrefslogtreecommitdiff
path: root/static/v10/man3/bits.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
commit97d5c458cfa039d857301e1ca7d5af3beb37131d (patch)
treeb460cd850d0537eb71806ba30358840377b27688 /static/v10/man3/bits.3
parentb89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff)
build: Better Build System
Diffstat (limited to 'static/v10/man3/bits.3')
-rw-r--r--static/v10/man3/bits.3198
1 files changed, 0 insertions, 198 deletions
diff --git a/static/v10/man3/bits.3 b/static/v10/man3/bits.3
deleted file mode 100644
index 57318b39..00000000
--- a/static/v10/man3/bits.3
+++ /dev/null
@@ -1,198 +0,0 @@
-.TH BITS 3+
-.CT 2 datatype
-.SH NAME
-bits \- variable length bit strings
-.SH SYNOPSIS
-.nf
-.B "#include <Bits.h>"
-.PP
-.B "typedef unsigned long Bits_chunk;"
-.PP
-.B "struct Bits {"
-.B " Bits() { }"
-.B " Bits(Bits_chunk, unsigned = 1);"
-.B " Bits(const Bits&)"
-.B " ~Bits();
-.BR " Bits& operator= (const Bits&); // " also " = &= |= ^=
-.BR " Bits& operator<<= (int); // " also " >>=
-.B " int operator[] (unsigned);"
-.B " operator Bits_chunk();"
-.B " unsigned size();"
-.B " unsigned size(unsigned);"
-.B " Bits& compl();"
-.B " Bits& concat(const Bits&);"
-.B " Bits& set(unsigned, unsigned long = 1);"
-.B " Bits& reset(unsigned);"
-.B " Bits& compl(unsigned);"
-.B " unsigned count();"
-.B " unsigned signif();"
-.B " unsigned trim();"
-.B "};"
-.PP
-.B "Bits operator~ (const Bits&);
-.BR "Bits operator& (const Bits&, const Bits&); // " also " | ^
-.BR "Bits operator<< (const Bits&, int); // " also " >>
-.BR "int operator< (const Bits&, const Bits&); // " also " > <= >= == !=
-.fi
-.SH DESCRIPTION
-A
-.B Bits
-object contains a variable-length bit string.
-The bits of a
-.B Bits
-object
-.I b
-are numbered from 0 through
-.IB b .size()\fR\-1,\fP
-with the rightmost bit numbered 0.
-.PP
-.B Bits_chunk
-is the largest unsigned integral type
-acceptable for conversion to and from
-.BR Bits ,
-.BR "unsigned long"
-in this implementation.
-.SS Constructors
-.TP \w'\fIa\fL.concat(\fIb\fL)\ 'u
-.B Bits()
-An empty bit string.
-.TP
-.BI Bits( n )
-The bits are copied from the binary representation of
-.I n
-with the ones-digit of
-.I n
-becoming bit 0.
-Leading zero-bits are removed,
-except that
-.B Bits(0)
-is a one-bit string.
-.TP
-.BI Bits( n , m )
-The same, but padded with leading zeros to size
-.I m
-if necessary.
-.SS Operators
-Bit strings have
-value semantics;
-assigning a
-.B Bits
-object or passing it to or returning it from a function
-creates a copy of its value.
-The meanings of operators are mostly predictable from C.
-.PP
-Under binary and comparison operators,
-the shorter operand
-is considered to be padded on the left with zeros to the
-length of the longer.
-If, after padding, two strings of different length compare equal,
-the shorter is deemed the smaller.
-.PP
-Negative shift amounts
-reverse the sense of shift operators.
-.PP
-Under conversion (or assignment) to a
-.BR Bits_chunk ,
-a
-.B Bits
-is interpreted as an unsigned integer.
-If it has a value small enough to fit,
-that value is assigned.
-Otherwise, a non-zero value is
-assigned.
-Thus a
-.B Bits
-is considered `true' in an
-.B if
-test if it contains any one-bit, `false' otherwise.
-.TP \w'\fIa\fL.concat(\fIb\fL)\ 'u
-.IB a [ s ]
-Bit number
-.I s
-of
-.IR a ;
-0 if
-.I s
-is out of bounds.
-.SS Other functions
-.TP \w'\fIa\fL.concat(\fIb\fL)\ 'u
-.IB a .size( s )
-Set the size of
-.I a
-to
-.I s
-by truncating or padding with zeros on the left as necessary.
-Return the new size.
-.TP
-.IB a .compl()
-Complement the bits of
-.I a.
-Return
-.I a.
-.TP
-.IB a .set( s )
-.PD 0
-.TP
-.IB a .reset( s )
-.TP
-.IB a .compl ( s )
-Set, reset, or complement bit
-.I s
-of
-.I a.
-No effect if
-.IB a .size()<= s.
-Return
-.I a.
-.PD
-.TP
-.IB a .set( s , n )
-If
-.I n
-is 0, reset bit
-.I s
-of
-.I a,
-otherwise set bit
-.I s.
-Equivalent to
-.BR "n? a.set(s): a.reset(s)" .
-.TP
-.IB a .count()
-Return the number of one-bits in
-.I a.
-.TP
-.IB a .signif()
-Return the number of significant bits in
-.BR a :
-one more than the
-number of the leftmost one-bit, or
-zero if there is no one-bit.
-.TP
-.IB a .trim()
-Discard high-order zero-bits.
-Equivalent to
-.BR a.size(a.signif()) .
-.TP
-.IB a .concat( b )
-Concatenate the value of
-.I b
-to the right (low-order) end of
-.I a.
-Return
-.I a.
-.TP
-.BI concat( a , b )
-Return a newly created concatenated object.
-.SH DIAGNOSTICS
-An operation that runs out of memory sets
-the length of the affected
-.B Bits
-to zero.
-.SH BUGS
-Too bad C++ can't support
-.BR "a[s] = n" .
-.br
-Things would be more consistent if
-.B Bits(0).size()
-were zero.