TVecInt.Size Method

Overload List

#SignatureDescription
1function Size(ALength: Integer; aPrecision: TIntPrecision): TVecInt;Sets the size and storage precision of the calling object.
2function Size(const Src: TMtxVecBase): TMtxVecInt;Size the object.
3function Size(const Src: TMtxVecBase; aPrecision: TIntPrecision): TMtxVecInt;Allows the IntPrecision property of the calling object to become of aPrecision value instead of Src.IntPrecision value.

Overload 1: function Size(ALength: Integer; aPrecision: TIntPrecision): TVecInt;

Sets the size and storage precision of the calling object.

#NameTypeDescription
1ALengthInteger
2aPrecisionTIntPrecision

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

Examples
A.Rows := 10000; // matrix size = 0
A.Cols := 1;     // matrix size = 10000
// ...
A.Cols := 10000; // matrix size = 100 000 000 (problems here)
A.Rows := 1;     // matrix size = 10 000

Overload 2: function Size(const Src: TMtxVecBase): TMtxVecInt;

Size the object.

#NameTypeDescription
1SrcTMtxVecBase

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

Remarks:

Assignes the size of the Src object to the calling object. If the calling object is a TVecInt object then the Src can be of any type, otherwise TMtxInt can only obtain size from a TMtxInt object and TSparseMtx can only obtain size from a TSparseMtx object.

If the calling object and Src are of different types and both objects have a matching TMtxVecBase.Length property only the IntPrecision property of the calling object will changed, while all other properties describing the size of the object (rows, cols, length) will be preserved.

Examples
A.Rows := 10000; // matrix size = 0
A.Cols := 1;     // matrix size = 10000
// ...
A.Cols := 10000; // matrix size = 100 000 000 (problems here)
A.Rows := 1;     // matrix size = 10 000

Overload 3: function Size(const Src: TMtxVecBase; aPrecision: TIntPrecision): TMtxVecInt;

Allows the IntPrecision property of the calling object to become of aPrecision value instead of Src.IntPrecision value.

#NameTypeDescription
1SrcTMtxVecBase
2aPrecisionTIntPrecision

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

Remarks:

It is also possible to pass the calling object as the Src with a different IntPrecision value. The value of the IntPrecision property can be changed without knowing the actual type of the object.