name: SysComplex

synopsis:

g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_system.a

#include <SysComplex.h>

SysComplex();
SysComplex(const SysComplex& arg);
SysComplex(const SysComplex& arg);
TIntegral real() const;
TIntegral imag() const;
TIntegral mag() const;
TIntegral angle() const;
const SysComplex& operator += (const SysComplex& arg);
const SysComplex& operator -= (const SysComplex& arg);
const SysComplex& operator *= (const SysComplex& arg);
const SysComplex& operator /= (const SysComplex& arg);
quick start:

const SysComplex c0(4.0, 2.0);
const SysComplex c1(5);
float r1 = 5;

// complex addition
//
if ((c0 + c1) != SysComplex(9, 2)) {
  Console::put(L"Error in complex addition");
}

// scalar addition
//
if ((c0 + r1) != SysComplex(9, 2)) {
  Console::put(L"Error in scalar addition");
}
description:

The SysComplex class implements a complex numeric type. This class is introduced at this level so the mathematical functions defined in Integral can also be defined for complex numbers. A SysComplex number can be treated in code exactly as any other integral type due to the amount of functionality and number of operators defined in this class. This allows math templates to be built on top of this class with minimal modification.

The complex number functions defined below follow implementations given in: See Integral.h for implementations of mathematical functions. Several important standard complex data types, such as complexdouble, are defined in IntegralTypes.h using typdef's based on this class. These predefined types are an important part of our approach to provided easy to use complex number classes implemented in a way that is consistent with the real-valued scalar classes.

dependencies:

public constants:

error codes:

protected data:

required public methods:

class-specific public methods:

private methods: examples:

notes: