Matrix.Disown Method

Overload List

#SignatureDescription
1procedure Disown;Disowns a pointer to an array from calling matrix Values1D.
2procedure Disown(out aArray: TDoubleArray; out aIndex: Integer; out aRows: Integer; out aCols: Integer; out aIsComplex: Boolean);Disowns a pointer to an array from matrix Values1D.

Overload 1: procedure Disown;

Disowns a pointer to an array from calling matrix Values1D.

Result: stored in self (calling object)

Remarks:

It dismisses the Values, Values1D, CValues1D array and sets the Matrix.Rows and Matrix.Cols to zero.

Overload 2: procedure Disown(out aArray: TDoubleArray; out aIndex: Integer; out aRows: Integer; out aCols: Integer; out aIsComplex: Boolean);

Disowns a pointer to an array from matrix Values1D.

#NameTypeDescription
1aArrayTDoubleArray
2aIndexInteger
3aRowsInteger
4aColsInteger
5aIsComplexBoolean

Result: stored in self (calling object)

Remarks:

The method does the opposite of the Matrix.Adopt method. It will set the AArrays to Pointer(Values), ARows and ACols to matrix's Matrix.Rows and Matrix.Cols and IsComplex to matrix TMtxVec.Complex property. Use the Disown method to "disconnect" AArray from the TMtx.Values1D. Disown sets Values1D and CValues1D array pointers to nil and Rows, Cols properties to ACols, but without freeing the allocated memory. The allocated memory can be disowned only, if it was adopted with a call to the Matrix.Adopt method.

See Also: Matrix.Adopt