Dew MtxVec NET
TCplx Type
Summary
Default complex number type used by Math387.

Unit
Math387

Declaration
TCplx = packed record {$IFDEF CLR} (IComparable, IConvertible) public var {$ENDIF} Re: TSample; Im: TSample; {$IFDEF CLR} class function FromObject(AObject: System.Object): TCplx; static; class operator Round(const AValue: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Trunc(const AValue: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Equal(const Left, Right: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Equal(const Left: TCplx; Right: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Equal(Left: TSample; const Right: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator NotEqual(const Left, Right: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator NotEqual(const Left: TCplx; Right: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator NotEqual(Left: TSample; const Right: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThan(const ALeft, ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThan(const ALeft: TCplx; ARight: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThan(ALeft: TSample; const ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThanOrEqual(const ALeft, ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThanOrEqual(const ALeft: TCplx; ARight: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator LessThanOrEqual(ALeft: TSample; const ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThan(const ALeft, ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThan(const ALeft: TCplx; ARight: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThan(ALeft: TSample; const ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThanOrEqual(const ALeft, ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThanOrEqual(const ALeft: TCplx; ARight: TSample): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator GreaterThanOrEqual(ALeft: TSample; const ARight: TCplx): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Add(const Left, Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Add(const Left: TCplx; Right: TSample): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Add(Left: TSample; const Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Subtract(const Left, Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Subtract(const Left: TCplx; Right: TSample): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Subtract(Left: TSample; const Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Multiply(const Left, Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Multiply(const Left: TCplx; Right: TSample): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Multiply(Left: TSample; const Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Divide(const Left, Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Divide(const Left: TCplx; Right: TSample): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Divide(Left: TSample; const Right: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Negative(const AValue: TCplx): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} // class operator Implicit(const AValue: Double): TCplx; // class operator Implicit(const AValue: Int32): TCplx; // class operator Implicit(const AValue: Int64): TCplx; class operator Implicit(const AValue: string): TCplx; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} // class operator Implicit(const AValue: Variant): TCplx; class operator Explicit(const AValue: TCplx): Double; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Explicit(const AValue: TCplx): Int32; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Explicit(const AValue: TCplx): Int64; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} class operator Explicit(const AValue: double): TCplx; class operator Explicit(const AValue: single): TCplx; class operator Explicit(const AValue: integer): TCplx; class operator Explicit(const AValue: Int64): TCplx; class function Compare(const Left, Right: TCplx): Int32; static; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} // IComparable function CompareTo(Right: TObject): Int32; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} // IConvertible function GetTypeCode: TypeCode; function ToBoolean(AProvider: IFormatProvider): Boolean; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToByte(AProvider: IFormatProvider): Byte; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToChar(AProvider: IFormatProvider): Char; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToDateTime(AProvider: IFormatProvider): DateTime; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToDecimal(AProvider: IFormatProvider): Decimal; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToDouble(AProvider: IFormatProvider): Double; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToInt16(AProvider: IFormatProvider): Int16; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToInt32(AProvider: IFormatProvider): Int32; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToInt64(AProvider: IFormatProvider): Int64; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToSByte(AProvider: IFormatProvider): SByte; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToSingle(AProvider: IFormatProvider): Single; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToString(AProvider: IFormatProvider): String; overload; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToType(AType: System.Type; AProvider: IFormatProvider): TObject; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToUInt16(AProvider: IFormatProvider): Word; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToUInt32(AProvider: IFormatProvider): LongWord; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function ToUInt64(AProvider: IFormatProvider): UInt64; {$IFDEF CLR_D9_INLINE} inline; {$ENDIF} function Complex: boolean; {$ELSE} //W32 {$IFDEF D10} function Complex: boolean; inline; class operator Equal(const Left, Right: TCplx): Boolean; inline; class operator Equal(const Left: TCplx; Right: TSample): Boolean; inline; class operator Equal(Left: TSample; const Right: TCplx): Boolean; inline; class operator NotEqual(const Left, Right: TCplx): Boolean; inline; class operator NotEqual(const Left: TCplx; Right: TSample): Boolean; inline; class operator NotEqual(Left: TSample; const Right: TCplx): Boolean; inline; class operator LessThan(const ALeft, ARight: TCplx): Boolean; inline; class operator LessThan(const ALeft: TCplx; ARight: TSample): Boolean; inline; class operator LessThan(ALeft: TSample; const ARight: TCplx): Boolean; inline; class operator LessThanOrEqual(const ALeft, ARight: TCplx): Boolean; inline; class operator LessThanOrEqual(const ALeft: TCplx; ARight: TSample): Boolean; inline; class operator LessThanOrEqual(ALeft: TSample; const ARight: TCplx): Boolean; inline; class operator GreaterThan(const ALeft, ARight: TCplx): Boolean; inline; class operator GreaterThan(const ALeft: TCplx; ARight: TSample): Boolean; inline; class operator GreaterThan(ALeft: TSample; const ARight: TCplx): Boolean; inline; class operator GreaterThanOrEqual(const ALeft, ARight: TCplx): Boolean; inline; class operator GreaterThanOrEqual(const ALeft: TCplx; ARight: TSample): Boolean; inline; class operator GreaterThanOrEqual(ALeft: TSample; const ARight: TCplx): Boolean; inline; class operator Add(const Left, Right: TCplx): TCplx; inline; class operator Add(const Left: TCplx; Right: TSample): TCplx; inline; class operator Add(Left: TSample; const Right: TCplx): TCplx; inline; class operator Subtract(const Left, Right: TCplx): TCplx; inline; class operator Subtract(const Left: TCplx; Right: TSample): TCplx; inline; class operator Subtract(Left: TSample; const Right: TCplx): TCplx; inline; class operator Multiply(const Left, Right: TCplx): TCplx; inline; class operator Multiply(const Left: TCplx; Right: TSample): TCplx; inline; class operator Multiply(Left: TSample; const Right: TCplx): TCplx; inline; class operator Divide(const Left, Right: TCplx): TCplx; inline; class operator Divide(const Left: TCplx; Right: TSample): TCplx; inline; class operator Divide(Left: TSample; const Right: TCplx): TCplx; inline; class operator Negative(const AValue: TCplx): TCplx; inline; class operator Implicit(const AValue: string): TCplx; inline; // class operator Implicit(const AValue: Variant): TCplx; class operator Explicit(const AValue: TCplx): Double; inline; class operator Explicit(const AValue: TCplx): integer; inline; class operator Explicit(const AValue: TCplx): Int64; inline; class operator Explicit(const AValue: double): TCplx; inline; class operator Explicit(const AValue: single): TCplx; inline; class operator Explicit(const AValue: integer): TCplx; inline; class operator Explicit(const AValue: Int64): TCplx; inline; {$ENDIF} {$ENDIF} end;
Description
Default complex number type used by Math387.

Copyright 2008 Dew Research
http://www.dewresearch.com