Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cplx.intro(3C++)

cartpol(3C++)

cplxerr(3C++)

cplxexp(3C++)

cplxtrig(3C++)

CPLXOPS(3C++)

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 operators 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 complex.  The library provides versions of this function optimized for combinations of floating-point and complex 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 function 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 function 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 otherwise. 

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

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(3C++), cartpol(3C++), cplxerr(3C++), cplxexp(3C++), cplxtrig(3C++)

Complex Tutorial
 

SunOS WorkShop_4.2  —  Last change: 24 March 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026