C99: quelle est la configuration recommandée façon de gérer les exceptions soulevées par les " pow()` (débordement ou un nombre complexe)

l'exécution de

double result = pow(base, exponent);

arbitraire base et exponent

peut entraîner dans une tentative pour calculer une valeur trop grande ou trop complexe.

Par exemple avec base=-2, exponent=.5 (racine carrée de 2)

Devrais-je vérifier si result==NAN ou result==HUGE_VAL ?

Serait qu'un code soit en C99 conformes et de la croix-plate-forme ?

Si vous voulez attraper ce cas, pensez à activer le point flottant exceptions et les attraper.
Je ne connaissais pas floating point exception. Pourriez-vous m'indiquer une référence ou de poster un extrait de code comme réponse? Merci
Aucune exception sur C. Vous devrez vérifier errno.
C a floating point exception. Veuillez lire avant de prendre incorrect commentaires.
Vous ne voudriez pas induire en erreur quelqu'un qui savait C, @cecilio. Et le traitement des exceptions de virgule flottante est configurable. Ils peuvent même ne pas être signalés par errno.

OriginalL'auteur Paolo | 2016-02-07