Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class BitUtil

    A variety of high efficiency bit twiddling routines.

    Note

    This API is for internal purposes only and might change in incompatible ways in the next release.

    Inheritance
    System.Object
    BitUtil
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Lucene.Net.Util
    Assembly: Lucene.Net.dll
    Syntax
    public static class BitUtil

    Methods

    | Improve this Doc View Source

    BitCount(Byte)

    Return the number of bits sets in b.

    Declaration
    public static int BitCount(byte b)
    Parameters
    Type Name Description
    System.Byte b
    Returns
    Type Description
    System.Int32
    | Improve this Doc View Source

    BitList(Byte)

    Return the list of bits which are set in b encoded as followed:

    (i >>> (4 * n)) & 0x0F
    is the offset of the n-th set bit of

    the given byte plus one, or 0 if there are n or less bits set in the given byte. For example

    bitList(12)
    returns 0x43:
    • 0x43 & 0x0F
      is 3, meaning the the first bit set is at offset 3-1 = 2,
    • (0x43 >>> 4) & 0x0F
      is 4, meaning there is a second bit set at offset 4-1=3,
    • (0x43 >>> 8) & 0x0F
      is 0, meaning there is no more bit set in this byte.

    Declaration
    public static int BitList(byte b)
    Parameters
    Type Name Description
    System.Byte b
    Returns
    Type Description
    System.Int32
    | Improve this Doc View Source

    NextHighestPowerOfTwo(Int32)

    Returns the next highest power of two, or the current value if it's already a power of two or zero

    Declaration
    public static int NextHighestPowerOfTwo(int v)
    Parameters
    Type Name Description
    System.Int32 v
    Returns
    Type Description
    System.Int32
    | Improve this Doc View Source

    NextHighestPowerOfTwo(Int64)

    Returns the next highest power of two, or the current value if it's already a power of two or zero

    Declaration
    public static long NextHighestPowerOfTwo(long v)
    Parameters
    Type Name Description
    System.Int64 v
    Returns
    Type Description
    System.Int64
    | Improve this Doc View Source

    Pop_AndNot(Int64[], Int64[], Int32, Int32)

    Returns the popcount or cardinality of A & ~B. Neither array is modified.

    Declaration
    public static long Pop_AndNot(long[] arr1, long[] arr2, int wordOffset, int numWords)
    Parameters
    Type Name Description
    System.Int64[] arr1
    System.Int64[] arr2
    System.Int32 wordOffset
    System.Int32 numWords
    Returns
    Type Description
    System.Int64
    | Improve this Doc View Source

    Pop_Array(Int64[], Int32, Int32)

    Returns the number of set bits in an array of System.Int64s.

    Declaration
    public static long Pop_Array(long[] arr, int wordOffset, int numWords)
    Parameters
    Type Name Description
    System.Int64[] arr
    System.Int32 wordOffset
    System.Int32 numWords
    Returns
    Type Description
    System.Int64
    | Improve this Doc View Source

    Pop_Intersect(Int64[], Int64[], Int32, Int32)

    Returns the popcount or cardinality of the two sets after an intersection. Neither array is modified.

    Declaration
    public static long Pop_Intersect(long[] arr1, long[] arr2, int wordOffset, int numWords)
    Parameters
    Type Name Description
    System.Int64[] arr1
    System.Int64[] arr2
    System.Int32 wordOffset
    System.Int32 numWords
    Returns
    Type Description
    System.Int64
    | Improve this Doc View Source

    Pop_Union(Int64[], Int64[], Int32, Int32)

    Returns the popcount or cardinality of the union of two sets. Neither array is modified.

    Declaration
    public static long Pop_Union(long[] arr1, long[] arr2, int wordOffset, int numWords)
    Parameters
    Type Name Description
    System.Int64[] arr1
    System.Int64[] arr2
    System.Int32 wordOffset
    System.Int32 numWords
    Returns
    Type Description
    System.Int64
    | Improve this Doc View Source

    Pop_Xor(Int64[], Int64[], Int32, Int32)

    Returns the popcount or cardinality of A ^ B Neither array is modified.

    Declaration
    public static long Pop_Xor(long[] arr1, long[] arr2, int wordOffset, int numWords)
    Parameters
    Type Name Description
    System.Int64[] arr1
    System.Int64[] arr2
    System.Int32 wordOffset
    System.Int32 numWords
    Returns
    Type Description
    System.Int64
    • Improve this Doc
    • View Source
    Back to top Copyright © 2021 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.