GoeaLabs.Bedrock
3.2.0
Prefix Reserved
dotnet add package GoeaLabs.Bedrock --version 3.2.0
NuGet\Install-Package GoeaLabs.Bedrock -Version 3.2.0
<PackageReference Include="GoeaLabs.Bedrock" Version="3.2.0" />
paket add GoeaLabs.Bedrock --version 3.2.0
#r "nuget: GoeaLabs.Bedrock, 3.2.0"
// Install GoeaLabs.Bedrock as a Cake Addin #addin nuget:?package=GoeaLabs.Bedrock&version=3.2.0 // Install GoeaLabs.Bedrock as a Cake Tool #tool nuget:?package=GoeaLabs.Bedrock&version=3.2.0
GoeaLabs.Bedrock
Project Description
A collection of general purpose helper methods used by my other libraries.
Compatibility
Compatible with .NET6 and higher, includes .NET7 build.
API(s)
- Array extensions:
byte[] FillRandom(this byte[]);
uint[] FillRandom(this uint[]);
ulong[] FillRandom(this ulong[]);
- Span extensions:
void Split(this Span<uint>, Span<byte>);
void Merge(this Span<byte>, Span<uint>);
void Merge(this Span<byte>, Span<ulong>);
void Merge(this Span<uint>, Span<ulong>);
#if NET7_0_OR_GREATER
void Merge(this Span<uint>, Span<UInt128>);
#endif
void Xor(this Span<byte>, Span<byte>);
void FillRandom(this Span<byte>);
void FillRandom(this Span<uint>);
void FillRandom(this Span<ulong>);
Note that Split
and Merge
above are endianness agnostic: you will get the
same results even on IBM System/390, the only Big Endian platform with .NET support
I am aware of.
- Integers extensions:
void Halve(this ushort, out byte, out byte);
void Halve(this uint, out ushort, out ushort);
void Halve(this ulong, out uint, out uint);
#if NET7_0_OR_GREATER
void Halve(this UInt128, out ulong, out ulong);
#endif
ushort Merge(this byte, byte);
uint Merge(this ushort, ushort);
ulong Merge(this uint, uint);
#if NET7_0_OR_GREATER
UInt128 Merge(this ulong, ulong);
#endif
byte Xor(this byte, byte);
Installation
Install with NuGet Package Manager Console
Install-Package GoeaLabs.Bedrock
Install with .NET CLI
dotnet add package GoeaLabs.Bedrock
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. 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. |
-
net6.0
- CommunityToolkit.Diagnostics (>= 8.2.0)
-
net7.0
- CommunityToolkit.Diagnostics (>= 8.2.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on GoeaLabs.Bedrock:
Package | Downloads |
---|---|
GoeaLabs.Crypto.Chaos
A cryptographically secure deterministic random number generator for .NET, based on RFC8439 ChaCha. |
|
GoeaLabs.Crypto.Hydra
Hydra Encryption Cipher for .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.