cplxerr(3C++)

complex_error - error-handling function for the C++ Complex Math Library

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     complex_error - error-handling function for the C++ Complex Math Library

SYNOPSIS
     #include <complex.h>

     class c_exception
     {
               int            type;
               char           *name;
               complex        arg1;
               complex        arg2;
               complex        retval;

     public:

               c_exception( char *n, const complex& a1, const complex& a2 = complex_zero );

               friend int     complex_error( c_exception& );

               friend complex exp( complex );
               friend complex sinh( complex );
               friend complex cosh( complex );
               friend complex log( complex );
     };

DESCRIPTION
     In the following description of the complex error handling routine,
      - i is of type int and
      - x is of type c_exception.

     i = complex_error(x)     Invoked by functions in the C++ Complex
                              Mathematics Library when errors are detected.

     Users may define their own procedures for handling errors, by defining a
     function named complex_error in their programs.  complex_error must be of
     the form described above.

     The element type is an integer describing the type of error that has
     occurred, from the following list of constants (defined in the header
     file):

          SING      argument singularity
          OVERFLOW  overflow range error
          UNDERFLOW underflow range error

     The element name points to a string containing the name of the function
     that incurred the error.  The variables arg1 and arg2 are the arguments
     with which the function was invoked.  retval is set to the default value
     that will be returned by the function unless the user's complex_error
     sets it to a different value.
     If the user's complex_error function returns non-zero, no error message
     will be printed, and errno will not be set.

     If complex_error is not supplied by the user, the default error-handling
     procedures, described with the complex math functions involved, will be
     invoked upon error.  These procedures are also summarized in the table
     below.  In every case, errno is set to EDOM or ERANGE and the program
     continues.

     Note that complex math functions call functions included in the math
     library which has its own error handling routine, matherr(3M).  Users may
     also override this routine by supplying their own version.

         ____________________________________________________________
                      DEFAULT ERROR HANDLING PROCEDURES
         ____________________________________________________________
         ____________________________________________________________
                                           Types of Errors
         ____________________________________________________________
         ____________________________________________________________
                  type               SING      OVERFLOW    UNDERFLOW
         ____________________________________________________________
         ____________________________________________________________
                  errno              EDOM       ERANGE      ERANGE
         ____________________________________________________________
         ____________________________________________________________
          EXP:
         ____________________________________________________________
           real too large/small       -        (_H, _H)     (0, 0)
         ____________________________________________________________
           imag too large             -         (0, 0)         -
         ____________________________________________________________
         ____________________________________________________________
          LOG:
         ____________________________________________________________
           arg = (0, 0)           M, (H, 0)        -           -
         ____________________________________________________________
         ____________________________________________________________
          SINH:
         ____________________________________________________________
           real too large             -        (_H, _H)        -
         ____________________________________________________________
           imag too large             -         (0, 0)         -
         ____________________________________________________________
         ____________________________________________________________
          COSH:
         ____________________________________________________________
           real too large             -        (_H, _H)        -
         ____________________________________________________________
           imag too large             -         (0, 0)         -
         ____________________________________________________________
         |



































                                |

































                                             |






























                                                         |






























                                                                     |

        _____________________________________________________________
         |
                                |
                                             |
                                                         |
                                                                     |

     ______________________________________________
                     ABBREVIATIONS
          M       Message is printed (EDOM error).
        (H, 0)    (HUGE, 0) is returned.
       (_H, _H)   (_HUGE, _HUGE) is returned.
        (0, 0)    (0, 0) is returned.
     ______________________________________________
     |




                                                   |






SEE ALSO
     complex(3C++), matherr(3M), cartpol(3C++), cplxops(3C++), cplxexp(3C++),
     and cplxtrig(3C++).