Raise invalid exception for ctan(+-inf,x).
authordrepper <drepper>
Mon, 1 Dec 1997 17:10:16 +0000 (17:10 +0000)
committerdrepper <drepper>
Mon, 1 Dec 1997 17:10:16 +0000 (17:10 +0000)
sysdeps/libm-ieee754/s_ctan.c
sysdeps/libm-ieee754/s_ctanf.c
sysdeps/libm-ieee754/s_ctanl.c

index c68c3ad..f1ce968 100644 (file)
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctan (__complex__ double x)
        {
          __real__ res = __nan ("");
          __imag__ res = __nan ("");
+
+#ifdef FE_INVALID
+         if (__isinf (__real__ x))
+           feraiseexcept (FE_INVALID);
+#endif
        }
     }
   else
index 4209587..750d351 100644 (file)
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctanf (__complex__ float x)
        {
          __real__ res = __nanf ("");
          __imag__ res = __nanf ("");
+
+#ifdef FE_INVALID
+         if (__isinff (__real__ x))
+           feraiseexcept (FE_INVALID);
+#endif
        }
     }
   else
index 88c02da..31ab3b4 100644 (file)
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctanl (__complex__ long double x)
        {
          __real__ res = __nanl ("");
          __imag__ res = __nanl ("");
+
+#ifdef FE_INVALID
+         if (__isinfl (__real__ x))
+           feraiseexcept (FE_INVALID);
+#endif
        }
     }
   else