Einzelnen Beitrag anzeigen

rabatscher

Registriert seit: 13. Dez 2007
Ort: Bruck an der Mur
69 Beiträge
 
#25

AW: Delphi 11 kein RandomRange für 64-bits?

  Alt 11. Aug 2022, 14:17
Für meine Lib


hab ich sowas verwendet:

Delphi-Quellcode:
function TRandomGenerator.RandInt64(const aRange: Int64): Int64;
var val1, val2 : LongWord;
begin
     val1 := fRandLW($8FFFFFFF);
     val2 := fRandLW($FFFFFFFF);

     Result := ( ( Int64(val1) shl 32) + Int64(val2) ) mod aRange;
end;
fRandLW ist vom typ: function(const ARange : LongWord) : LongWord; Also quasi ident mit der Delphi random funktion


in https://github.com/mikerabat/mrmath findest du die Klasse TRandomGenerator
Die Lib unterstützt auch die Intel RDRAND Instruktion, Mersenne Twister, ChaCha (Salsa20) und eine von Windows bereit gestellte Crypto Random Engine
die von Advapi32.dll bzw. BCrypt.dll bereit gestellt wird.

Geändert von rabatscher (11. Aug 2022 um 14:33 Uhr)
  Mit Zitat antworten Zitat