Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtxVec *Size(TMtxVecBase *Src); | Size the object. |
| 2 | TMtx *Size(const int ARows, const int ACols, const bool AComplex, const bool aIsDouble); | Sets the size of matrix. |
| 3 | TMtx *Size(const int ARows, const int ACols, const bool AComplex); | Sets the size of matrix. |
| 4 | TMtx *Size(const int ARows, const int ACols); | Sets the size of matrix. |
| 5 | TMtx *Size(int ARows, int ACols, TMtxFloatPrecision aFloatPrecision); | Sets the size of matrix. |
| 6 | TMtx *Size(int ARows, int ACols, TMtxVec *FloatPrecisionRef); | Sets the size of matrix. |
| 7 | TMtxVec *Size(TMtxVecBase *Src, bool AComplex); | |
| 8 | TMtxVec *Size(TMtxVecBase *Src, const TMtxFloatPrecision aFloatPrecision); |
Overload 1: TMtxVec *Size(TMtxVecBase *Src);
Size the object.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVecBase * |
Assignes the size of the Src object to the calling object. If the calling object is a TVec object then the Src can be of any type, otherwise TMtx can only obtain size from a TMtx object and TSparseMtx can only obtain size from a TSparseMtx object.
If the calling object and Src are of different types, the complex property can be different, if both objects have a matching TMtx::Length property. In this case only the Complex property of the calling object will changed, while all other properties describing the size of the object (rows, cols, length, nonZeros) will be preserved. This is different from simply setting the Complex property. Changing the Complex property directly would also change the Length, Cols and NonZeros properties.
Overload 2: TMtx *Size(const int ARows, const int ACols, const bool AComplex, const bool aIsDouble);
Sets the size of matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | ARows | const int | |
| 2 | ACols | const int | |
| 3 | AComplex | const bool | |
| 4 | aIsDouble | const bool |
Set the calling matrix properties:
- TMtx::Rows = ARows,
- TMtx::Cols = ACols
- and TMtx::Complex = AComplex
- TMtx::IsDouble = aIsDouble
Calling the Size method does not preserve the contents of the matrix. Use the Resize method, if you want to preserve existing values.
Note
The Size method performs an out-of-memory safe resize, if the matrix already has memory allocated. This prevents out of memory message for example when redefining the size of the matrix from single column to single row:
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: TMtx *Size(const int ARows, const int ACols, const bool AComplex);
Sets the size of matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | ARows | const int | |
| 2 | ACols | const int | |
| 3 | AComplex | const bool |
Set the calling matrix properties:
- TMtx::Rows = ARows,
- TMtx::Cols = ACols
- and TMtx::Complex = AComplex
Calling the Size method does not preserve the contents of the matrix. Use the Resize method, if you want to preserve existing values.
The existing floating point precision is preserved.
Overload 4: TMtx *Size(const int ARows, const int ACols);
Sets the size of matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | ARows | const int | |
| 2 | ACols | const int |
Set the calling matrix properties:
- TMtx::Rows = ARows,
- TMtx::Cols = ACols
- and TMtx::Complex = false
Calling the Size method does not preserve the contents of the matrix. Use the Resize method, if you want to preserve existing values.
The existing floating point precision is preserved.
Overload 5: TMtx *Size(int ARows, int ACols, TMtxFloatPrecision aFloatPrecision);
Sets the size of matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | ARows | int | |
| 2 | ACols | int | |
| 3 | aFloatPrecision | TMtxFloatPrecision |
Set the calling matrix properties:
- TMtx::Rows = ARows,
- TMtx::Cols = ACols
- and TMtx::FloatPrecision = aFloatPrecision.
If the aFloatPrecision parameter is omitted, the default value mvDouble is used. Calling the Size method does not preserve the contents of the matrix. Use the Resize method, if you want to preserve existing values.
Note
The Size method performs an out-of-memory safe resize, if the matrix already has memory allocated. This prevents out of memory message for example when redefining the size of the matrix from single column to single row.
Overload 6: TMtx *Size(int ARows, int ACols, TMtxVec *FloatPrecisionRef);
Sets the size of matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | ARows | int | |
| 2 | ACols | int | |
| 3 | FloatPrecisionRef | TMtxVec * |
Set the calling matrix properties:
- TMtx::Rows = ARows,
- TMtx::Cols = ACols
- and TMtx::FloatPrecision = FloatPrecisionRef.FloatPrecision
Overload 7: TMtxVec *Size(TMtxVecBase *Src, bool AComplex);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVecBase * | |
| 2 | AComplex | bool |
Overload 8: TMtxVec *Size(TMtxVecBase *Src, const TMtxFloatPrecision aFloatPrecision);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVecBase * | |
| 2 | aFloatPrecision | const TMtxFloatPrecision |