AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Modulo -Algorithmus: übersetzng von pseudocode

Modulo -Algorithmus: übersetzng von pseudocode

Ein Thema von Sequitar · begonnen am 19. Aug 2020 · letzter Beitrag vom 24. Aug 2020
Antwort Antwort
Seite 1 von 2  1 2   
Sequitar

Registriert seit: 8. Jan 2016
74 Beiträge
 
Delphi 10.4 Sydney
 
#1

Modulo -Algorithmus: übersetzng von pseudocode

  Alt 19. Aug 2020, 01:34
Auf der suche nach schnelleren Modulo Berechnungen bin ich auf Folgendes gestoßen:
"Computing Mod Without Mod" (Will, Mark A & Ko,, Ryan)
Die Autoren schlagen beigefügten pseudo-code vor (section 2.4,algorithmus 3), den ich versucht habe in delphi zu übersetzen, leider nur mäßig erfolgreich, wie meine tests belegen

wäre mal einer so nett und könnte das mal checken?

Anbei mein code,
! ich habe für die "einfachen" mathe optionen eine bestehende library, die funktionalität der eingesetzten teile wurde nach bestem wissen erfolgreich getestet

(hierzu lade ich noch ein basis package und die entsprechende dll hoch)

Ansonsten bin ich natürlich auch dankbar für Vorschläge bzgl integer division / modulo verbesserungen

Vielen Dank
Angehängte Dateien
Dateityp: pdf fastMod.pdf (337,6 KB, 36x aufgerufen)
Dateityp: zip Quickmodtest.zip (1,92 MB, 16x aufgerufen)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
748 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 19. Aug 2020, 08:08
Wieso baust du Algo3 aus 2.4 nach? Die Autoren schlagen doch Algo4 aus 3.1 vor. (This [Algo3] is the main reduction, but some further can be required hence the last two
while loops.)

Baust du den Algo für den Schulunterricht nach? Oder willst du die vorgeschlagene mod Funktion in Delphi Programmen verwenden? Wenn Letzteres: Der Algo ist für den Einbau in Prozessoren gedacht und nicht für die Schicht in welcher Delphi werkelt.

Welchen Teil von Algo3 aus 2.4 kannst du nicht umsetzen/verstehst du nicht?
Michael Gasser
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
713 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 19. Aug 2020, 09:15
Hallo Sequitar,
wenn Du den Modulo-Algorithmus nicht als „programmiertechnische Herausforderung“ suchst, sondern in Deinen Delphi-Programmen z. B. für kryptographische Zwecke etc. eine Modulo-Funktion mit hoher Genauigkeit (z. B. 2048 Bits und meeeeeeehr) brauchst, dann könntest Du die Multipräzisions-Bibliotheken von unserem leider viel zu früh verstorbenen Gammatester (Wolfgang Ehrhardt) benutzen. Zu finden sind sie auf dem Web-Archiv unter:
http://web.archive.org/web/*/wolfgang-ehrhardt.de
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 19. Aug 2020, 09:48
Oder mal ins DEC (Delphi Encryption Compendium) schauen, das ist ja sauschnell, also enthält es auch ein schnelles Modulo.

Und natürlich auch nochmal im DECMath.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Sequitar

Registriert seit: 8. Jan 2016
74 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 22. Aug 2020, 19:23
Hallo und vielen Dank für eure tips (! insb, wenn der vorgeschlagene Algorithmus nur in prozessoren werkeln soll, ist das definitiv ein falscher ansatz von mir)

Derzeit würde ich das dingen für größenordnungen um die 500bt (aufgrund der aktuellen hardware nicht die standardmäßigen 2048bt) anwenden wollen, insb für hash checks, angedacht war ursprunglich auch mal ein key-austausch, aber das projekt hab ich auf eis gelegt, und werde da wohl auf eine standard lib umsteigen,falls mein aktueller prozessor das zulässt (i5-u mobile version)

ich glaub' von Dir, himitsu, hatte ich vor langer, langer zeit mal eine math unit erhalten, auf deren basis ich seitdem immer mal wieder erweitert hab'. Merci dafür noch mal, hat mir seinerzeit gute Dienste erwiesen und ist auch gut nachvollziehbar. Derzeit stelle ich das für die - noch limitierten Anwendungsbereiche (s.o, und derzeit im rahmen diverser Präsentationsszwecke für schüler, @Michael II) auf byte-arrays um, von daher war der gedanke, bei der division vielleicht nebenbei etwas effizienteres einzubauen

Habt Ihr evtl passende alternativ-algortithmen (also jetzt nur für die division) in peto? Als referenz würde wohl reichen, nachbauen würde ich dann ggf selber.

Merci
schönen abend!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 22. Aug 2020, 19:37
Wobei meine paar MathLibs und der Taschenrechner mehr Proof-of-Concept waren.
Schauen was möglich ist, von den Schnittstellen her, aber nicht wirklich auf Effizienz ausgelegt.

DECMath war/ist praktisch eine der schnellsten Libs im kostenlosen Bereich (Ein-Mann-Projekt).
Problem dort war, dass der Quellcode nicht öffentlich ist/war und demnach es mit neuen Delphi-Versionen Probleme gibt, so lange nicht jemand dafür das Compilat (DCU's) bereitstellt.
Aber es gibt mehrere BigMathLibs, wovon welche auch auf Cryptographie spezialisiert sind.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Aug 2020 um 19:41 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 22. Aug 2020, 20:12
Hagen, der ursprüngliche Entwickler der DEC hat von dem Teil leider nie den Quellcode rausgegeben. Die DCUs in DEC 5.2 sind für D7 also steinalt. Habe es daher im 6.0 Entwicklungszweig rausgenommen.

Wie sieht die Lizenzsituation bei W. Regards Code aus? Könnte das jemand problemfrei bei GitHub oder so einstellen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 22. Aug 2020, 21:09
Regards?


Part I gibt es als Pascal, glaub ich, aber Part II ........
Joar, dann wäre für DEC-Math wohl die einzige Möglichkeit das mit Delphi 7 / C++Builder 7 zu versuchen in eine .OBJ zu kompilieren und das dann wie ZLib/Jpeg/PNG/RegEx ins Delphi zu ziehen.
(ich glaub hab seit 4 Jahren nichts mehr von ihm gehört)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 23. Aug 2020, 07:18
Verflixte Autokorrektur auf'm Tablet.
Meinte W. Erhardt.

Ich fänd's gut wenn man das in irgend ein Open SOurce Repository
(oder mehrere falls es unterschiedliche Themen sind) überführen könnte.
Würde die Sichtbarkeit erhöhen, die Nützlichkeit steigern und evtl.
käme dann auch noch die eine oder andere kleine Verbesserung dazu.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Modulo -Algorithmus: übersetzng von pseudocode

  Alt 23. Aug 2020, 14:13
Er ist ja letzten Jahres verstorben.
https://www.delphipraxis.net/200202-...mmatester.html

Ich denke mal es wäre OK, wenn man es dort hin transferiert, dazumal die Webseite ja von 'nem Spammer/Grabber übernommen und misshandelt wurde.
Zitat:
Wolfgang hat seinen Code mit einer sehr freigiebigen Lizenz ausgestattet, so dass niemand Probleme haben sollte, den Code in seinen Projekten zu verwenden.
So als Idee, vielleicht könnte man es ins DEC integrieren, bzw. daneben legen.
Hagen Reddmann wird wohl noch leben, aber er hat seine Verschlüsselungs-Bibliothek abgegeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Aug 2020 um 14:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:13 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