Skip to content

Commit

Permalink
Shorten BlobUtilities methods that write integers.
Browse files Browse the repository at this point in the history
  • Loading branch information
teo-tsirpanis committed Oct 27, 2022
1 parent a4b647c commit d466b38
Showing 1 changed file with 10 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,50 +34,20 @@ public static void WriteByte(this byte[] buffer, int start, byte value)
buffer[start] = value;
}

public static void WriteUInt16(this byte[] buffer, int start, ushort value)
{
if (!BitConverter.IsLittleEndian)
{
value = BinaryPrimitives.ReverseEndianness(value);
}
Unsafe.WriteUnaligned(ref buffer[start], value);
}
public static void WriteUInt16(this byte[] buffer, int start, ushort value) =>
Unsafe.WriteUnaligned(ref buffer[start], !BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(value) : value);

public static void WriteUInt16BE(this byte[] buffer, int start, ushort value)
{
if (BitConverter.IsLittleEndian)
{
value = BinaryPrimitives.ReverseEndianness(value);
}
Unsafe.WriteUnaligned(ref buffer[start], value);
}
public static void WriteUInt16BE(this byte[] buffer, int start, ushort value) =>
Unsafe.WriteUnaligned(ref buffer[start], BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(value) : value);

public static void WriteUInt32BE(this byte[] buffer, int start, uint value)
{
if (BitConverter.IsLittleEndian)
{
value = BinaryPrimitives.ReverseEndianness(value);
}
Unsafe.WriteUnaligned(ref buffer[start], value);
}
public static void WriteUInt32BE(this byte[] buffer, int start, uint value) =>
Unsafe.WriteUnaligned(ref buffer[start], BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(value) : value);

public static void WriteUInt32(this byte[] buffer, int start, uint value)
{
if (!BitConverter.IsLittleEndian)
{
value = BinaryPrimitives.ReverseEndianness(value);
}
Unsafe.WriteUnaligned(ref buffer[start], value);
}
public static void WriteUInt32(this byte[] buffer, int start, uint value) =>
Unsafe.WriteUnaligned(ref buffer[start], !BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(value) : value);

public static void WriteUInt64(this byte[] buffer, int start, ulong value)
{
if (!BitConverter.IsLittleEndian)
{
value = BinaryPrimitives.ReverseEndianness(value);
}
Unsafe.WriteUnaligned(ref buffer[start], value);
}
public static void WriteUInt64(this byte[] buffer, int start, ulong value) =>
Unsafe.WriteUnaligned(ref buffer[start], !BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(value) : value);

public const int SizeOfSerializedDecimal = sizeof(byte) + 3 * sizeof(uint);

Expand Down

0 comments on commit d466b38

Please sign in to comment.