C99: Was ist der empfohlene Weg um mit 'pow ()' ausgelöste Ausnahmen zu behandeln (Überlauf oder komplexe Zahl)

8

Ausführen

%Vor%

mit beliebigem base und exponent

kann dazu führen, dass ein Wert zu groß oder zu komplex berechnet wird.

Zum Beispiel mit base=-2 , exponent=.5 (Quadratwurzel von -2)

Soll ich nur überprüfen ob result==NAN oder result==HUGE_VAL ?

Wäre dieser Code C99-konform und plattformübergreifend?

    
Paolo 07.02.2016, 12:49
quelle

1 Antwort

3

Fange SIGFPE und sterbe laut. Es gibt etwas Schlimmeres als ein abgestürztes Programm: eines, das leise falsche Antworten gibt.

Der folgende Beispielcode wurde von einer zufälligen Seite über SIGFPE genommen

%Vor%     
msw 07.02.2016, 13:17
quelle

Tags und Links