AGB  ·  Datenschutz  ·  Impressum  







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

W.Erhardt aMath

Ein Thema von wendelin · begonnen am 18. Apr 2019 · letzter Beitrag vom 25. Apr 2019
Antwort Antwort
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#1

W.Erhardt aMath

  Alt 18. Apr 2019, 11:09
Hallo,

kennt sich jemand mit der Unit aMath von W.Erhardt aus ?
Ich brauche eine Instruktion wie ich die 'exp - funktion aus aMath' nutze und in mein Programm einbinde.
Am besten ein ordentliches Manual (englisch oder deutsch) mit Beispielen.

W. Erhardt schreibt, das die exp-function aus der Delphi-Unit 'math' recht ungenau sei und bis zu 13 bits (extended Argument) verloren gehen
würden.http://wolfgang-ehrhardt.de/misc_de.html#mparith

Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: W.Erhardt aMath

  Alt 18. Apr 2019, 11:38
Ganz naiv würde ich die Unit einbinden und die Funktion Exp aufrufen. Hat man auch noch Math eingebunden, dann entweder sicherstellen, dass AMath in der Uses-Liste nach Math kommt oder die Funktion voll qualifiziert aufrufen (AMath.Exp).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.096 Beiträge
 
Delphi 12 Athens
 
#3

AW: W.Erhardt aMath

  Alt 18. Apr 2019, 13:13
Wie man die nutzt, ich denke 1:1, wie DeddyH schon geschrieben hat.

Zitat:
{---------------------------------------------------------------------------}
function exp(x: extended): extended; assembler; {&Frame-} {&Uses none}
{-Accurate exp, result good to extended precision}
asm
{This version of Norbert Juffa's exp is from the VirtualPascal RTL source,}
{discussed and explained in the VP Bugtracker system. Quote: }
{ }
{ ... "since the 387, F2XM1 can accecpt arguments in [-1, 1]. }
{ }
{ So, we can split the argument into an integer and a fraction part using }
{ FRNDINT and the fraction part will always be -1 <= f <= 1 no matter what}
{ rounding control. This means we don't have to load/restore the FPU }
{ control word (CW) which is slow on modern OOO FPUs (since FLDCW is a }
{ serializing instruction). }
{ }
{ Note that precision is lost in doing exponentation when the fraction is }
{ subtracted from the integer part of the argument. The "naive" code can }
{ loose up to 11 (or 15) bits of the extended precision format for large }
{ DP or EP arguments, yielding a result good to double precision. To get a}
{ function accurate to full extended precision, we need to simulate higher}
{ precision intermediate arithmetic." }
{ Ref: [Virtual Pascal 0000056]: More accurate Exp() function. URL (Oct.2009):}
{ https://admin.topica.com/lists/virtualpascal@topica.com/read/message.html?sort=a&mid=908867704&start=7}
Die exp() Funktion in Delphi und AMath machen beide stark von Assembler Gebrauch,
ist nicht so mein Spezialgebiet, dehalb würde ich dem Wolfgang Erhardt da blind vertrauen.
Der kannte jedes seiner Bits einzeln.

Allerdings gebe ich zu Bedenken das sein Code nur für Windows kompatibel war,
also müsste man bei iOS/Android/Linux nach Alternativen suchen, oder mit Delphi-Code leben.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: W.Erhardt aMath

  Alt 18. Apr 2019, 13:15
Wenn die Angabe im Profil stimmt (Delphi 7), spielen mobile Plattformen wohl keine Rolle
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Rudy Velthuis

Registriert seit: 10. Sep 2011
Ort: Gelsenkirchen
42 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: W.Erhardt aMath

  Alt 25. Apr 2019, 01:03
Hallo,

kennt sich jemand mit der Unit aMath von W.Erhardt aus ?
Ich brauche eine Instruktion wie ich die 'exp - funktion aus aMath' nutze und in mein Programm einbinde.
Am besten ein ordentliches Manual (englisch oder deutsch) mit Beispielen.

W. Erhardt schreibt, das die exp-function aus der Delphi-Unit 'math' recht ungenau sei und bis zu 13 bits (extended Argument) verloren gehen
würden.http://wolfgang-ehrhardt.de/misc_de.html#mparith

Wendelin
Er schreibt auch, das arccsch(2) 0.27980789397 liefert. Aber bei mir gibt es, ziemlich nah am korrekten Wert, 4.81211811304092E-0001 (oder 0.481211811304092) zurück (Delphi 10.3.1 Rio).
Rudy Velthuis
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:03 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