![]() |
High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object files
Hallo Delphi-Community,
am 5. Mai 2021 wurde ein interessantes Thema in DP News-Robot vorgestellt: High-Precision Floating-Point Types for Delphi ![]() ![]() Hier wird eine von Erik van Bilsen entwickelte Delphi-Schnittstelle repräsentiert ![]() - DoubleDouble (128-Bit: Doppelte Genauigkeit von Double) - QuadDouble (256-Bit: Vierfache Genauigkeit von Double) Erik’s Bibliothek basiert auf der C/C++ - Bibliothek von David H. Bailey ![]() Leider macht Erik's Bibliothek auch von den neuesten Delphi-Features (Delphi 10.4.2.) Gebrauch. Wenn man die Inline-Deklarationen in den Routinen
Delphi-Quellcode:
und
function MultiPrecisionInit: UInt32;
Delphi-Quellcode:
in der Unit
procedure MultiPrecisionReset(const AState: UInt32);
Delphi-Quellcode:
umschreibt, läßt sich das Projekt auch mit XE5 kompilieren. Allerdings sind die Ergebnisse mit XE5 bedauerlicherweise nicht zu gebrauchen, weil sie falsch sind. Meine Kommentare und Korrespondenz mit Erik sind unter oberem Link
Neslib.MultiPrecision.pas
![]() Summa summarum schreibt mir Erik zum Schluß: Zitat:
Und vor allem könnte jemand dabei helfen, diesen wertvollen Schatz zu bergen und ihn auch für ältere Delphi-Versionen zur Verfügung zu stellen. Die Benutzung von
Delphi-Quellcode:
scheint wesentlich einfacher zu sein, als die der deutlich komplexer zu handhabenden MPA-Bibliotheken vom verstorbenen Wolfgang Ehrhardt, zumal man hier lediglich den Dateitypen ändern müßte, um auf einen Schlag 128 oder 256-Bit Fließkomma-Genauigkeit mit Prozessor-Geschwindigkeit zu erhalten.
Neslib.MultiPrecision.pas
Danke im Voraus für jedwede Hilfe! Gruß, Andreas PS: Ich werde Erik van Bilsen den Link zu diesem Topic mitteilen, damit er eventuelle Verbesserungsvorschläge direkt verfolgen kann. [edit] Eine analoge Anfrage habe ich auch unter ![]() |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
1. Bitte Cross-Post in die EE und andersrum verlinken!
2. Bevor TurboMagic wieder fragt: Hast du keine Möglichkeit zum Update? 3. Was ist mit Eriks letztem Vorschlag? Zitat:
|
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
@TiGü
Danke für Deine Tipps und Fragen! Zitat:
Zitat:
Das ist der Grund für meine zahlreichen für Informatiker-Ohren recht "dummen" Fragen hier in unserem Forum. Deswegen habe ich ja Euch um Hilfe gebeten… Zitat:
Mit meinen Programmen verdiene auch ich kein Geld, und ich brauche auch keine neuen Features für MacOS, iOS, Android etc. Auch keine Netzwerke. Und als Datenbank genügt für meine Zwecke die Einzelplatzversion von Absolute Database vollkommen. Und für all dies reicht das "alte" Delphi XE5 mehr als aus. Das ist der Grund, warum ich mir kein Delphi-Update zulege. Warum habe ich überhaupt diese Anfrage gemacht? Ich dachte mir und habe sehr gehofft, daß hier außer mir auch noch zahlreiche "Fließkomma-Programmierer" mit älteren Delphi-Versionen zu Werke gehen und von einer solchen Bibliothek wie
Delphi-Quellcode:
profitieren würden. Ich brauche es nicht unbedingt, da ich seit rund 5 Jahren die MPA-Bibliotheken von Wolfgang Ehrhardt erfolgreich verwende – auch wenn ihre Benutzung etwas umständlich ist – bin ich mit diesen recht zufrieden, da sie sehr zuverlässig sind.
Neslib.MultiPrecision
Gruß, Andreas |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Zitat:
|
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Halo,
ich kenne die Bibliothek nicht, werfe mal die Record-Alignments ins Boot. Der Default-Werte wurde doch irgendwann mal geändert, war das vielleicht in XE4-6? |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Hi Ralph,
meine Befürchtung ist nur, daß meine in den letzten 3 Jahrzehnten mühselig erstellten und vor allem vielfach und sorgfältig getesteten Berechnungsroutinen mit einer neueren Delphi-Version nicht mehr korrekt funktionieren würden. Der letzte Umstieg von Delphi 5 Pro auf XE5 Pro im Jahre 2013 hat mich extrem viel Zeit gekostet: manche alten Programme funktionieren trotz Anpassungen bis heute nicht korrekt… Vom Moderator Th69 der Entwickler-Ecke kam soeben eine interessante Vermutung: ![]() Zitat:
Gruß, Andreas |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Zitat:
leider sind die Rechenergebnisse auch ohne Record-Alignment immer noch falsch. Gruß, Andreas |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Probiere bitte einfach die Community-Edition.
Spart allen Zeit und Nerven. Der Sprung von XE5 nach 10.3 ist nicht so groß, wie damals von Delphi 5 nach XE5 (Unicode!). Zumindest nutze es doch einfach nur für dieses eine Projekt zum Testen. |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
Zitat:
Danke & Gruß, Andreas |
AW: High-Precision Floating-Point Types for Delphi - Hilfe beim Linken von C object f
"Editionen" der gleichen Version können nicht gleichzeitig, (Community/Pro/Ent/...)
aber verschiedene Versionen sind quasi jeweils eigenständige Programme und die können zusammen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz