AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Besseres Random() - eure Vorschläge

Ein Thema von DieDolly · begonnen am 25. Nov 2019 · letzter Beitrag vom 8. Nov 2020
Antwort Antwort
Seite 5 von 5   « Erste     345   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#41

AW: Besseres Random() - eure Vorschläge

  Alt 8. Jul 2020, 11:14
OK, auf die Compilerschalter und Typen hatte ich jetzt nicht explizit geachtet.

Mir ging es mehr darum, dass man so die Mathematik dahinter bissl einfacher sieht.
* erste Zeile ist der eigentliche Generator
* und Zeile zwei ist nur zur Bereichsanpassung (beim RandomRange und beim Random mit Float-Result, ist der Teil bissl anders)

Um nicht für alle Plattformen die Assembler neu zu schreiben, ging man oft einfach dazu über dort "einfach" mit Pascal zu arbeiten und die Compiler das Problem zu lösen.

Wobei es hier ja eigentlich keinen Grund gab das überhaupt als Assembler zu haben. (selbst auf uralten PCs war es nicht sooooooo langsam)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 8. Jul 2020 um 13:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#42

AW: Besseres Random() - eure Vorschläge

  Alt 8. Jul 2020, 12:20
Ich verwende ISAAC als Zufallsgenerator. Initialisiert wird mit CLSIDs und Hash Generatoren.
Da mit den gleichen Startwerten die gleichen Serien erstellt werden können kann man damit auch Verschlüsseln.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#43

AW: Besseres Random() - eure Vorschläge

  Alt 8. Nov 2020, 11:24
Der DEC 6.0 beta 1 Random ist sehr langsam verglichen zu anderen. 10x langsamer bei mir. Die Resultate. Die Bilder sind in der Originalgröße, damit keine Details verloren gehen!
Info: ich musste die Bilder auf einen Discordserver hochladen, da meine favorisierte Seite img42.com nach dem Upload von 5x4 MB (5.242.880‬ Pixel) offline ging. 4MB pro Bild.

1024x1024 Durchgänge. Test-CPU: Intel Core i7 4790K

Random-DEC 6.0, 11539ms
https://cdn.discordapp.com/attachmen...64/unknown.png

Random-Delphi, 1057ms
https://cdn.discordapp.com/attachmen...68/unknown.png

Random-MT19937, 1063ms
https://cdn.discordapp.com/attachmen...37/unknown.png

Random-1-Zeiler, 1095ms
https://cdn.discordapp.com/attachmen...88/unknown.png

Random-Well1024, 1185ms
https://cdn.discordapp.com/attachmen...84/unknown.png

Random-Poisson
https://cdn.discordapp.com/attachmen...76/unknown.png

Random-DEC und Random-MT19937 schneiden am besten ab.
Well1024 ist durch die anfängliche Initialisierung mit dem Delphi-Random natürlich im Prinzip nur ein aufgemotztes "Standard-Random" mit denselben Auffälligkeiten.
Hallo,

wärst du bereit mir den Quelltext des Programms zukommen zu lassen, mit dem du die Grafik für den Zufallszahlengenerator
der DEC erzeugt hast? Ich würde das evtl. als Demo Programm dazupacken. Dabei würde ich natürlich deinen Namen mit
im Copyright Abschnitt der Notice.txt mit aufführen.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz