-
-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
### Summary .NET 8 supports Xoroshiro 256** off the shelf and added Shuffle. Switching to that implementation. ### Developer Notes * Removed many convenience methods that weren't used.
- Loading branch information
1 parent
1769d47
commit dba3ec2
Showing
14 changed files
with
159 additions
and
699 deletions.
There are no files selected for viewing
142 changes: 0 additions & 142 deletions
142
Projects/Server.Tests/Tests/Collections/PooledRefQueueTests.cs
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/************************************************************************* | ||
* ModernUO * | ||
* Copyright 2019-2023 - ModernUO Development Team * | ||
* Email: [email protected] * | ||
* File: BuiltInRng.cs * | ||
* * | ||
* This program is free software: you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation, either version 3 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
* You should have received a copy of the GNU General Public License * | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. * | ||
*************************************************************************/ | ||
|
||
using System; | ||
using System.Runtime.CompilerServices; | ||
|
||
namespace Server.Random; | ||
|
||
public static class BuiltInRng | ||
{ | ||
public static System.Random Generator { get; private set; } = new(); | ||
|
||
public static void Reset() => Generator = new System.Random(); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static int Next() => Generator.Next(); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static int Next(int maxValue) => Generator.Next(maxValue); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static int Next(int minValue, int count) => minValue + Generator.Next(count); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static long Next(long maxValue) => Generator.NextInt64(maxValue); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static long Next(long minValue, long count) => minValue + Generator.NextInt64(count); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static double NextDouble() => Generator.NextDouble(); | ||
|
||
[MethodImpl(MethodImplOptions.AggressiveInlining)] | ||
public static void NextBytes(Span<byte> buffer) => Generator.NextBytes(buffer); | ||
} |
Oops, something went wrong.