Libreria C Macro - ERANGE

Descrizione

Come accennato in precedenza, la macro della libreria C. ERANGE rappresenta un errore di intervallo, che si verifica se un argomento di input è al di fuori dell'intervallo, oltre il quale è definita la funzione matematica e errno è impostato su ERANGE.

Dichiarazione

Di seguito è riportata la dichiarazione per ERANGE Macro.

#define ERANGE some_value

Parametri

  • NA

Valore di ritorno

  • NA

Esempio

L'esempio seguente mostra l'utilizzo di ERANGE Macro.

#include <stdio.h>
#include <errno.h>
#include <math.h>

int main () {
   double x;
   double value;

   x = 2.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }

   x = 1.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }
   
   x = 0.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   } else {
      printf("Log(%f) = %f\n", x, value);
   }
   
   return 0;
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

Log(2.000000) = 0.693147                                      
Log(1.000000) = 0.000000                                      
Log(0.000000) is out of range