dcbe4127bd
now deprecated SVN repository.
45 lines
642 B
C++
45 lines
642 B
C++
|
|
#include <lib/lib.h>
|
|
|
|
smallbitset::smallbitset (reader &r)
|
|
{
|
|
uint64 t;
|
|
read (r, t);
|
|
n = t >> 58;
|
|
x = t;
|
|
|
|
assert (n <= max_size);
|
|
}
|
|
|
|
#if 0
|
|
smallbitset::smallbitset (const unsignedset &t)
|
|
: n(t.size ()),
|
|
x(0)
|
|
{
|
|
assert (n <= max_size);
|
|
for (unsignedset_const_iter i = t; i; i ++)
|
|
push (i.val ());
|
|
}
|
|
#endif
|
|
|
|
void
|
|
smallbitset::write_self (writer &w) const
|
|
{
|
|
write (w, x | (((uint64)n) << 58));
|
|
}
|
|
|
|
void
|
|
smallbitset::show_self () const
|
|
{
|
|
printf ("%d:", n);
|
|
for (unsigned i = n; i >= 1; i --)
|
|
printf ("%c", operator % (i) ? '1' : '0');
|
|
}
|
|
|
|
void
|
|
smallbitset::display_self () const
|
|
{
|
|
show_self ();
|
|
newline ();
|
|
}
|