Man Page cplxops.3




NAME

     cplxops - arithmetic operator functions in the  C++  complex
     number math library


SYNOPSIS

     #include <complex.h>
     class complex {
     public:
          friend complex operator- (const complex);
          friend complex operator+ (const complex, const complex);
          friend complex operator+ (double, const complex);
          friend complex operator+ (const complex, double);
          friend complex operator- (const complex, const complex);
          friend complex operator- (double, const complex);
          friend complex operator- (const complex, double);
          friend complex operator* (const complex, const complex);
          friend complex operator* (const complex, double);
          friend complex operator* (double, const complex);
          friend complex operator/ (const complex, const complex);
          friend complex operator/ (const complex, double);
          friend complex operator/ (double, const complex);
          friend int     operator== (const complex, const complex);
          friend int     operator!= (const complex, const complex);
          void operator+= (const complex);
          void operator+= (double);
          void operator-= (const complex);
          void operator-= (double);
          void operator*= (const complex);
          void operator*= (double);
          void operator/= (const complex);
          void operator/= (double);
          ... // remainder not shown here
     };


DESCRIPTION

     These functions are versions of the normal arithmetic opera-
     tors overloaded for use with complex numbers.

  Unary minus
     complex z = - x
          Returns the negative of complex x.

  Binary arithmetic
     complex z = x + y
          Returns the sum of x and y, where one or both are  com-
          plex.   The  library provides versions of this function
          optimized for combinations of floating-point  and  com-
          plex arguments.

     complex z = x - y
          Returns the difference of x and y, where  one  or  both
          are  complex.   The  library  provides versions of this
          function optimized for combinations  of  floating-point
          and complex arguments.

     complex z = x * y
          Returns the product of x and y, where one or  both  are
          complex.   The  library provides versions of this func-
          tion optimized for combinations of  floating-point  and
          complex arguments.

     complex z = x / y
          Returns the quotient of x and y, where one or both  are
          complex.   The  library provides versions of this func-
          tion optimized for combinations of  floating-point  and
          complex arguments.

  Comparison
     Complex numbers are not well-ordered, so only  equality  can
     be tested.

     x == y
          Returns 1 if x and y (both complex) are equal, 0 other-
          wise.

     x != y
          Returns 0 if x and y (both complex) are equal, 1 other-
          wise.

  Assignment
     The compiler-generated default assignment operator, complex&
     operator=(const  complex&), is appropriate for this type, so
     it is not redefined  by  the  class.   Note:   The  compound
     assignment operators do not return a value, and so cannot be
     used in larger expressions.  For example, the expression
          z = ( x += y );
     is valid if x is an integer or floating-point type, but will
     not compile if x is complex.

     x += y
          Complex x is  incremented  by  the  value  of  y.   The
          library  provides  versions  of this function optimized
          for floating-point and complex right-hand arguments.

     x -= y
          Complex x is  decremented  by  the  value  of  y.   The
          library  provides  versions  of this function optimized
          for floating-point and complex right-hand arguments.

     x *= y
          Complex x is assigned the value of itself multiplied by
          the  value of y.  The library provides versions of this
          function  optimized  for  floating-point  and   complex
          right-hand arguments.

     x /= y
          Complex x is assigned the value of  itself  divided  by
          the  value of y.  The library provides versions of this
          function  optimized  for  floating-point  and   complex
          right-hand arguments.


SEE ALSO

     cplx.intro(3CC4), cartpol(3CC4), cplxerr(3CC4),
     cplxexp(3CC4), cplxtrig(3CC4)

     C++ Library Reference Chapter 2, "The Complex Arithmetic
     Library."