Skip to content

k-wojcik/Roaring.Net

Repository files navigation

Roaring.Net

push-master workflow status GitHub Release NuGet Version Codecov

A .NET wrapper for CRoaring - a C implementation of RoaringBitmap.

Support

Supported runtimes

Platform/Architecture x86 x64 arm arm64
windows
linux
osx

Supported frameworks

  • .NET 8
  • .NET 6

Usage

using var rb1 = new Roaring32Bitmap();
using var rb2 = new Roaring32Bitmap();

rb1.AddMany([1, 2, 3, 4, 5, 100, 1000]);
rb1.Optimize();

rb2.AddMany([3, 4, 5, 7, 50]);
rb2.Optimize();

using var result = rb1.And(rb2);

Console.WriteLine(result.Contains(2));
Console.WriteLine(result.Contains(4));
Console.WriteLine(result.Contains(5));

Requirements

Linux

  • gcc
  • VCpkg and please do vcpkg integrate install. (CMake for CRoaring will be handled by VCpkg on your behalf.)
  • run build/build-libs.sh to build a CRoaring library

Windows

  • VS2022 or later
  • VCpkg and please do vcpkg integrate install. (CMake for CRoaring will be handled by VCpkg on your behalf.)
  • run build/build-libs.bat to build a CRoaring library