SultanC
  1. Home
  2. Examples
  3. Collections

A bit set stores many yes/no flags in little memory

collections/bit_set.sn
// A bit set stores many yes/no flags in little memory.
import std.io.println;
import std.text.number;
import std.collections.bitset;

def main(): int {
    let flags: mutable bit_set = new_bit_set(64);
    bit_set_insert(&mutable flags, 3);
    bit_set_insert(&mutable flags, 10);
    bit_set_insert(&mutable flags, 63);
    println(uint_to_text(bit_set_count(&flags)));
    if (bit_set_contains(&flags, 10)) { println("10 is set"); };
    if (!bit_set_contains(&flags, 11)) { println("11 is clear"); };
    return 0;
}

Run it

With the interpreter, without compiling:

./build/sultanc run examples/en/collections/bit_set.sn

Or compile it to an executable:

./build/sultanc examples/en/collections/bit_set.sn -o build/example && ./build/example

Source on GitHub   All examples