C# Class Snappy.Sharp.Utilities

显示文件 Open project: jeffesp/Snappy.Sharp

Public Methods

Method Description
CalculateCrc ( byte b, int off, int len ) : uint
GetEightBytes ( byte source, int index ) : ulong

> Reads 8 bytes from memory into a uint. Does not take host enianness into account.

GetFourBytes ( byte source, int index ) : uint

> Reads 4 bytes from memory into a uint. Does not take host enianness into account.

Log2Floor ( uint x ) : uint
NativeIntPtrSize ( ) : int
NumberOfLeadingZeros ( uint x ) : uint
NumberOfOnes ( uint x ) : uint
NumberOfTrailingZeros ( uint x ) : uint
NumberOfTrailingZeros ( ulong c ) : uint
UnalignedCopy64 ( byte source, int sourceIndex, byte dest, int destIndex ) : void

Copies 64 bits (8 bytes) from source array starting at sourceIndex into dest array starting at destIndex.

The name comes from the original Snappy C++ source. I don't think there is a good way to look at things in an aligned manner in the .NET Framework.

Method Details

CalculateCrc() public static method

public static CalculateCrc ( byte b, int off, int len ) : uint
b byte
off int
len int
return uint

GetEightBytes() public static method

> Reads 8 bytes from memory into a uint. Does not take host enianness into account.
public static GetEightBytes ( byte source, int index ) : ulong
source byte
index int
return ulong

GetFourBytes() public static method

> Reads 4 bytes from memory into a uint. Does not take host enianness into account.
public static GetFourBytes ( byte source, int index ) : uint
source byte
index int
return uint

Log2Floor() public static method

public static Log2Floor ( uint x ) : uint
x uint
return uint

NativeIntPtrSize() public static method

public static NativeIntPtrSize ( ) : int
return int

NumberOfLeadingZeros() public static method

public static NumberOfLeadingZeros ( uint x ) : uint
x uint
return uint

NumberOfOnes() public static method

public static NumberOfOnes ( uint x ) : uint
x uint
return uint

NumberOfTrailingZeros() public static method

public static NumberOfTrailingZeros ( uint x ) : uint
x uint
return uint

NumberOfTrailingZeros() public static method

public static NumberOfTrailingZeros ( ulong c ) : uint
c ulong
return uint

UnalignedCopy64() public static method

Copies 64 bits (8 bytes) from source array starting at sourceIndex into dest array starting at destIndex.
The name comes from the original Snappy C++ source. I don't think there is a good way to look at things in an aligned manner in the .NET Framework.
public static UnalignedCopy64 ( byte source, int sourceIndex, byte dest, int destIndex ) : void
source byte The source array.
sourceIndex int Index to start copying.
dest byte The destination array.
destIndex int Index to start writing.
return void