quick start:g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_math_scalar.a #include <ComplexLong.h> ComplexLong(complexlong arg = DEF_VALUE); ComplexLong(const ComplexLong& arg); ComplexLong& operator= (const ComplexLong& arg);
description:ComplexLong val0 = 10; ComplexLong val1; val1 = val0; ComplexLong val2(2, -5); ComplexLong val3(L"-1, -3");
static const String CLASS_NAME = L"ComplexLong";
static const long ERR = 21300;
static MemoryManager mgr_d;
static const String& name();
static boolean diagnose(Integral::DEBUG debug_level);
setDebug method is inherited from base class
boolean debug(const unichar* message) const;
~ComplexLong();
ComplexLong(complexlong arg = DEF_VALUE);
ComplexLong(const ComplexLong& arg);
assign methods are inherited from the MComplexScalar template class
ComplexLong& operator= (const ComplexLong& arg);
i/o methods: sofSize, readData and writeData methods are inherited from the MComplexScalar template class
boolean read(Sof& sof, long tag, const String& name = CLASS_NAME);
boolean write(Sof& sof, long tag, const String& name = CLASS_NAME) const;
equality methods are inherited from the MComplexScalar template class
memory management methods: clear method is inherited from the MComplexScalar template class
static void* operator new(size_t size);
static void* operator new[](size_t size);
static void operator delete(void* ptr);
static void operator delete[](void* ptr);
static boolean setGrowSize(long grow_size);
operator complexdouble() const;
operator complexfloat() const;
using MScalar<complexlong, int32>::bor;
using MScalar<complexlong, int32>::band;
using MScalar<complexlong, int32>::bxor;
using MScalar<complexlong, int32>::brs;
using MScalar<complexlong, int32>::bls;
using MScalar<complexlong, int32>::bcmpl;
using MScalar<complexdouble, int32>::operator%=;
using MScalar<complexdouble, int32>::operator%;
using MScalar<complexdouble, int32>::mod;
using MScalar<complexdouble, int32>::centerClip;
using MScalar<complexdouble, int32>::fraction;
using MScalar<complexdouble, int32>::limit;
using MScalar<complexdouble, int32>::limitmag;
ComplexFloat x(L"1+1j"), y(L"2+3j"), z(L"3+4j"), ans; ans = (x * y + z) / (x + y);Basic math is fairly straightforward though casting is sometimes required for mixed types.
ComplexLong val0(5, -1); String tmp_filename(L"foo"); Sof tmp_file; tmp_file.open(tmp_filename, File::WRITE_ONLY, File::TEXT); val0.write(tmp_file, (long)0); tmp_file.close();