Overload List
Overload 1: Vector SubScaled(TVec *X, const double xScale, TMtxVec *Y, const double yScale, TMtxVec *Z, const double zScale);
Compute X*xScale - Y*yScale - Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const double | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const double | |
| 5 | Z | TMtxVec * | |
| 6 | zScale | const double |
Computes the expression X*xScale - Y*yScale - Z*zScale without temporary objects, achieving the same speed as an optimized inplace operation.
Overload 2: Matrix SubScaled(TMtx *X, const double xScale, TMtxVec *Y, const double yScale, TMtxVec *Z, const double zScale);
Compute X*xScale - Y*yScale - Z*zScale, when X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const double | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const double | |
| 5 | Z | TMtxVec * | |
| 6 | zScale | const double |
Overload 3: Vector SubScaled(TVec *X, TMtxVec *Y, const double yScale, TMtxVec *Z, const double zScale);
Compute X - Y*yScale - Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | TMtxVec * | |
| 3 | yScale | const double | |
| 4 | Z | TMtxVec * | |
| 5 | zScale | const double |
Computes the difference between X and Y scaled by yScale, then subtracts Z scaled by zScale, without creating temporary objects.
Overload 4: Matrix SubScaled(TMtx *X, TMtxVec *Y, const double yScale, TMtxVec *Z, const double zScale);
Compute X - Y*yScale - Z*zScale, where X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | TMtxVec * | |
| 3 | yScale | const double | |
| 4 | Z | TMtxVec * | |
| 5 | zScale | const double |
Overload 5: Vector SubScaled(TVec *X, TMtxVec *Y, const TCplx &yScale, TMtxVec *Z, const TCplx &zScale);
Compute X - Y*yScale - Z*zScale
Overload 6: Matrix SubScaled(TMtx *X, TMtxVec *Y, const TCplx &yScale, TMtxVec *Z, const TCplx &zScale);
Compute X - Y*yScale - Z*zScale, where X is a Matrix.
Overload 7: Vector SubScaled(TVec *X, TMtxVec *Y, TMtxVec *Z, const double zScale);
Compute X - Y - Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | TMtxVec * | |
| 4 | zScale | const double |
Computes the difference between X and Y, then subtracts Z scaled by zScale, without creating temporary objects.
Overload 8: Matrix SubScaled(TMtx *X, TMtxVec *Y, TMtxVec *Z, const double zScale);
Compute X - Y - Z*zScale, where X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | TMtxVec * | |
| 4 | zScale | const double |
Overload 9: Vector SubScaled(TVec *X, TMtxVec *Y, TMtxVec *Z, const TCplx &zScale);
Compute X - Y - Z*zScale
Overload 10: Matrix SubScaled(TMtx *X, TMtxVec *Y, TMtxVec *Z, const TCplx &zScale);
Compute X - Y - Z*zScale, where X is a Matrix.
Overload 11: Vector SubScaled(TVec *X, const TCplx &xScale, TMtxVec *Y, const TCplx &yScale, TMtxVec *Z, const TCplx &zScale);
Compute X*xScale - Y*yScale - Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const TCplx & | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const TCplx & | |
| 5 | Z | TMtxVec * | |
| 6 | zScale | const TCplx & |