1.#INFO / INDO
-
Hallo zusammen,
ich habe ein kleines Problem. Ich realisiere gerade eine Fast Fourier Transformation in C.
Habe das zuerst dummerweise in einem C-File gemacht, aber es klappte. Nun habe ich das geändert und die eigentliche FFT in zwei weitere unterschiedliche C-Files gepackt (der Algorithmus hat sich dafür quasi angeboten).
Nun übergebe ich diesen Funktionen das Array mit Real-Werten und rauskommen schließlich wieder zwei Real-Werte. Aber der Rest des Array's ist nun mit komischen Sachen gefüllt:
-1.#INFO
-1.#INDOWas ist das, bzw. was hat das zu bedeuten. Hab das noch nie gesehen und kann das auch nicht einordnen.
Zur Info, ich arbeite mir VS 6.
Gruß
Sid
-
Klingt nach minus unendlich. Manual fragen!
Und das zweite ist scheinbar ein NaN-Wert:
http://www.blitzbasic.com/Community/posts.php?topic=56992
-
Ich dachte mir schon sowas.
Aber warum kommt das erst, wenn ich das in einzelne C-Files unterteile. Voher kamen rein reele Zahlen raus und und nun unendlich und das nur weil ich das in einzelne Files schreibe? Am Code an sich habe ich rein gar nichts geändert.
-
Was gibt dieses Programm aus?
#include <stdio.h> int main(void) { printf("%lf\n%lf\n", 1.0 / -0.0, 0.0 / 0.0); }
Sollte einmal minus unendlich und einmal NaN sein. Sicher, dass sich keine Division durch Null eingeschlichen hat? Die NaN's könnten in Folge daher kommen, dass manche Ausdrücke mit Unendlichkeiten keine Zahl ergeben.
-
Hallo,
ich hab das ganze Programm mal Schritt für Schritt debuggt und den Fehler gefunden.
Die Werte waren wirklich unendlich groß und daraus resultierend auch undefiniert, was die Fehler angingen.
Die Ursache war dann ganz einfach: In dem C-File wo der Fehler auftrat, hatte ich vergessen die wunderprächtige Klasse Math.h einzubinden und dann mit Funktionen aus dieser gerechnet.
Warum dann aber keine Fehlermeldung angezeigt worden ist, da ich ja
sin(theta)
verwendet habe ist mir noch nicht so klar... Vielleicht weil er dass dann als Funktion interpretiert hat.
Aber es klappt jetzt auf jeden Fall...
Danke noch mal für die schnelle Hilfe.