RNG занимает вечно, когда не инициализируется с семенамиC#

Место общения программистов C#
Ответить
Anonymous
 RNG занимает вечно, когда не инициализируется с семенами

Сообщение Anonymous »

Я не очень опытен в pcg32 rng.
в следующем исходном коде, если я не инициализации с семенем, а затем вызовите int nextint (int maxvalue) < /p>
для возврата требуется вечно. < /p>
Как я могу решить эту проблему? < /p>
Вот C# Fiddler Ссылка. < /p>
using System;

namespace _Lib
{
///
/// A PCG-based random number generator implemented as a struct.
///
public struct Pcg32 : IRandom
{
public ulong Seed { get; private set; }
public ulong Increment { get; private set; }

///
/// Initializes the Pcg32 generator with a given seed and stream ID.
///
public void Initialize(ulong seed, ulong streamID = 0)
{
Seed = 0ul;
Increment = (streamID > 18) ^ oldState) >> 27);
int rot = (int)(oldState >> 59);
return RotateRight(xorshifted, rot);
}

private uint RotateRight(uint value, int offset)
{
return (value >> offset) | (value 8);
buffer[i++] = (byte)(value >> 16);
buffer[i++] = (byte)(value >> 24);
}

for (; i < buffer.Length; i++)
{
buffer = (byte)unchecked(PCG32());
}
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/794 ... ith-a-seed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»