KGIntelligence.PineCore 1.2.0

dotnet add package KGIntelligence.PineCore --version 1.2.0
                    
NuGet\Install-Package KGIntelligence.PineCore -Version 1.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KGIntelligence.PineCore" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KGIntelligence.PineCore" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="KGIntelligence.PineCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add KGIntelligence.PineCore --version 1.2.0
                    
#r "nuget: KGIntelligence.PineCore, 1.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package KGIntelligence.PineCore@1.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=KGIntelligence.PineCore&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=KGIntelligence.PineCore&version=1.2.0
                    
Install as a Cake Tool

PineCore: C# swiss-knife-library with useful data structures and utility methods

Overview

This library is a part of the efforts of KG Intelligence to open source our technology to be used freely by the c# community. The library contains the commonly used within KG Intelligence methods and data structures. The goal of the project is to gradually increase the content of our open source libraries such PineCore to the point where all the source code of KG Intelligence - implemented within the company - is included in open source libraries.

Content

  • Data Structures:

    • Succinct Data Structures: compressed bit representations offering query methods to be used without the need of decompression. Such query methods include Rank, Select. The succinct datastructure APIs are:
      • IBits with properties IReadOnlyList<nuint> Data { get; } and nuint Size { get; }
      • IBitIndices with properties public nuint Size { get; } and methods bool GetBit(nuint index)
      • ISuccinctIndices with properties nuint SetBitsCount { get; }, nuint UnsetBitsCount { get; }, nuint Size { get; } and methods nuint RankSetBits(nuint bitPositionCutoff), nuint RankUnsetBits(nuint bitPositionCutoff), nuint SelectSetBits(nuint bitCountCutoff), nuint SelectUnsetBits(nuint bitCountCutoff)
      • ISuccinctCompressedIndices with the same properties and methods as ISuccinctIndices
      • ISerializableBits with mehtods void Write(BinaryWriter writer), void Write(string filePath), static abstract TSelf Read(BinaryReader reader) and static abstract TSelf Read(string filePath)
  • Utility Methods:

    • Bit Twiddling Operations not included in System.Numerics.BitOperations such as: ReverseBits, Rank, Select; these methods operate on uint, ulong, and also on the native-sized integers nuint.

Usage

The library can be installed as a Nuget package. The nuget package link is https://www.nuget.org/packages/KGIntelligence.PineCore/.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 274 7/18/2023
1.1.0 257 7/9/2023
1.0.3 345 3/13/2023
1.0.2 356 2/6/2023
1.0.1 377 1/27/2023
1.0.0 353 1/27/2023
0.3.0 139 12/26/2025
0.2.4 173 12/29/2024

Initial release.