Matrix.Implicit Operator

Overload List

#SignatureDescription
1class operator Implicit(const AValue: Matrix): TDenseMtxVec;Dereferences internal TMtx objects and returns a pointer.
2class operator Implicit(const AValue: Matrix): TMtx;Dereferences internal TMtx objects and returns a pointer.
3class operator Implicit(const AValue: Matrix): TMtxVec;Dereferences internal TMtx objects and returns a pointer.
4class operator Implicit(const AValue: Matrix): TMtxVecBase;Dereferences internal TMtx objects and returns a pointer.
5class operator Implicit(const a: Matrix): TCplx};Implicit conversion from Matrix to Span<TCplx>.
6class operator Implicit(const a: Matrix): TSCplx};Implicit conversion from Matrix to Span<TSCplx>.
7class operator Implicit(const a: Matrix): Double};Implicit conversion from Matrix to Span<Double>.
8class operator Implicit(const a: Matrix): Single};Implicit conversion from Matrix to Span<Single>.
9class operator Implicit(const AValue: TCplxArray): Matrix;Implicit type conversion from an array of double to Matrix.
10class operator Implicit(const AValue: T2DCplxArray): Matrix;Implicit type conversion from an array of double to Vector.
11class operator Implicit(const AValue: TDoubleArray): Matrix;Implicit type conversion from an array of double to Matrix.
12class operator Implicit(const AValue: T2DDoubleArray): Matrix;Implicit type conversion from an array of double to Vector.

Overload 1: class operator Implicit(const AValue: Matrix): TDenseMtxVec;

Dereferences internal TMtx objects and returns a pointer.

#NameTypeDescription
1AValueMatrix

Result: stored in self (calling object), returns self for chaining

Overload 2: class operator Implicit(const AValue: Matrix): TMtx;

Dereferences internal TMtx objects and returns a pointer.

#NameTypeDescription
1AValueMatrix

Result: stored in self (calling object), returns self for chaining

Overload 3: class operator Implicit(const AValue: Matrix): TMtxVec;

Dereferences internal TMtx objects and returns a pointer.

#NameTypeDescription
1AValueMatrix

Result: stored in self (calling object), returns self for chaining

Overload 4: class operator Implicit(const AValue: Matrix): TMtxVecBase;

Dereferences internal TMtx objects and returns a pointer.

#NameTypeDescription
1AValueMatrix

Returns: TMtxVecBase

Overload 5: class operator Implicit(const a: Matrix): TCplx};

Implicit conversion from Matrix to Span<TCplx>.

#NameTypeDescription
1aMatrix

Returns: TCplx}

Overload 6: class operator Implicit(const a: Matrix): TSCplx};

Implicit conversion from Matrix to Span<TSCplx>.

#NameTypeDescription
1aMatrix

Returns: TSCplx}

Overload 7: class operator Implicit(const a: Matrix): Double};

Implicit conversion from Matrix to Span<Double>.

#NameTypeDescription
1aMatrix

Returns: Double}

Overload 8: class operator Implicit(const a: Matrix): Single};

Implicit conversion from Matrix to Span<Single>.

#NameTypeDescription
1aMatrix

Returns: Single}

Overload 9: class operator Implicit(const AValue: TCplxArray): Matrix;

Implicit type conversion from an array of double to Matrix.

#NameTypeDescription
1AValueTCplxArray

Result: stored in self (calling object), returns self for chaining

Remarks:

Copies array, but does not resize resulting matrix. Example of usage in Delphi XE7 and newer:

var a: Matrix;
begin
a.Size(2,2, mvDoubleComplex); a := [Cplx(1),Cplx(2),Cplx(3),Cplx(4)]; //same as a = [[Cplx(1),Cplx(2)],[Cplx(3),Cplx(4)]], but only if the size does not change end;

Overload 10: class operator Implicit(const AValue: T2DCplxArray): Matrix;

Implicit type conversion from an array of double to Vector.

#NameTypeDescription
1AValueT2DCplxArray

Result: stored in self (calling object), returns self for chaining

Remarks:

Copies array and resizes resulting matrix. Example of usage in Delphi XE7 and newer:

var a: Matrix;
arr: T2DCplxArray;
begin
am := [[Cplx(1,2)],[Cplx(3,4)]]; //Embedding means "row" concatenation arr := [[Cplx(1,2)],[Cplx(3,4)]]; am := arr;
am := [[Cplx(1,2)],[Cplx(3,4)]] + [[Cplx(1,2)],[Cplx(3,4)]]; //the "+" here is "row concatenation" // a := [[Cplx(1,2.2)],[Cplx(3,4)]] + a; //operator not applicable (it wont compile), ambiguous math or concat operation end;

Overload 11: class operator Implicit(const AValue: TDoubleArray): Matrix;

Implicit type conversion from an array of double to Matrix.

#NameTypeDescription
1AValueTDoubleArray

Result: stored in self (calling object), returns self for chaining

Remarks:

Copies array, but does not resize resulting matrix. Example of usage in Delphi XE7 and newer:

var a: Matrix;
begin
a.Size(2,2);
a := [1,2,3,4]; //same as a = [[1,2],[3,4]] end;

Overload 12: class operator Implicit(const AValue: T2DDoubleArray): Matrix;

Implicit type conversion from an array of double to Vector.

#NameTypeDescription
1AValueT2DDoubleArray

Result: stored in self (calling object), returns self for chaining

Remarks:

Copies array and resizes resulting matrix. Example of usage in Delphi XE7 and newer:

var a: Matrix;
arr: T2DDoubleArray; begin
am := [[1,2],[3,4]]; //Embedding means "row" concatenation arr := [[1,2],[3,4]]; am := arr;
am := [[1,2],[3,4]] + [[1,2],[3,4]]; //the "+" here is "row concatenation" // a := [[1,2.2],[3,4]] + a; //operator not applicable (it wont compile), ambiguous math or concat operation end;