AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi FLOAT_INVALID_OPERATION und FLOAT_OVERFLOW nur 64Bit
Thema durchsuchen
Ansicht
Themen-Optionen

FLOAT_INVALID_OPERATION und FLOAT_OVERFLOW nur 64Bit

Ein Thema von venice2 · begonnen am 15. Jul 2021 · letzter Beitrag vom 19. Jul 2021
 
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#9

AW: FLOAT_INVALID_OPERATION und FLOAT_OVERFLOW nur 64Bit

  Alt 16. Jul 2021, 16:13
Bei mir läuft der bei deinen Angaben schon direkt in eine Endlosschleife, weil M irgendwann 0 ist:
Delphi-Quellcode:
      M := ((SampleCount + 1) div 2);
      while M < J do
      begin
        J := J - M;
        M := M div 2;
      end;
      J := J + M;
Da in der zweiten Schleife le1 immer größer wird
Delphi-Quellcode:
      le := trunc(Power(2, L));
      le1 := le div 2;
und dann irgendwann
Delphi-Quellcode:
ip := Q + (le1 - 1);

// mit
 while Q <= (SampleCount + 1) do

auf außerhalb des arrays Zugegriffen wird
Delphi-Quellcode:
  
tr := FR[ip] * ur - FI[ip] * ui; // FLOAT_INVALID_OPERATION nur 64Bit
ti := FR[ip] * ui + FI[ip] * ur;
kann nur murks bei rumkommen. Das wird auch unter 32Bit keine korrekten Ergebnisse liefern, sondern nur zufällig laufen, je nachdem was gerade auf dem Heap ist.

Bau mal ein:

Delphi-Quellcode:
ip := Q + (le1 - 1);

          if ip > High(fi) then
            raise Exception.Create('Fehler');
          if ip > High(FR) then
            raise Exception.Create('Fehler');

          tr := FR[ip] * ur - FI[ip] * ui; // FLOAT_INVALID_OPERATION nur 64Bit
          ti := FR[ip] * ui + FI[ip] * ur;
ein

Geändert von brechi (16. Jul 2021 um 16:16 Uhr)
  Mit Zitat antworten Zitat
 


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:57 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