/CRoaring.Net

.Net wrapper for CRoaring - a C implementation of RoaringBitmap

Primary LanguageC#MIT LicenseMIT

CRoaring.Net

NuGet

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

Usage

using (var rb1 = new RoaringBitmap())
using (var rb2 = new RoaringBitmap())
{
	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));
	}
}

Compiling

Linux

Requirements:

Run the build.sh script

Windows

Requirements:

Note: CMake must be available from the command line (added to PATH).

Build the CRoaring and CRoaring.Net projects.

Microsoft CodeGen currently doesn't support the intrinsics required for building for x86_64. Instead, it is recommended you build using the Linux route above with a virtual machine or Ubuntu on Windows.

Testing CRoaring.Net

Run the test.sh or test.bat scripts.