func (rb *RoaringBitmap) Contains(i uint32) bool {
	pos := rb.containerIndex(highbits(i))
	if pos < 0 {
		return false
	}
	return rb.containers[pos].container.contains(lowbits(i))
}
Contains checks whether the value in included, which is equivalent to checking
if the corresponding bit is set (get in BitSet class).
package goroar
import (
	"bytes"
	"fmt"
	"log"
	"os"
	"strconv"
	"text/template"
)
type entry struct {
	key       uint16
	container container
}
type RoaringBitmap struct {
	containers []entry
}
func New() *RoaringBitmap {
	containers := make([]entry, 0, 4)
	return &RoaringBitmap{containers}
}
func BitmapOf(values ...uint32) *RoaringBitmap {
	rb := New()
	for _, value := range values {
		rb.Add(value)
	}
	return rb
}
func (rb *RoaringBitmap) Add(x uint32) {
	hb, lb := highlowbits(x)
	pos := rb.containerIndex(hb)
	if pos >= 0 {
		container := rb.containers[pos].container
		rb.containers[pos].container = container.add(lb)
	} else {
		ac := newArrayContainer()
		ac.add(lb)
		rb.increaseCapacity()
		loc := -pos - 1
		rb.containers = rb.containers[:len(rb.containers)+1]
		copy(rb.containers[loc+1:], rb.containers[loc:])
		e := entry{hb, ac}
		rb.containers[loc] = e
	}
}