Overload List
Overload 1: Vector AddAndMul(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) multiplied by Z*zScale without temporary objects.
Overload 2: Matrix AddAndMul(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 |
The operation does only per-element math.
Overload 3: Vector AddAndMul(TVec *X, const double xScale, double Y, TMtxVec *Z, const double zScale);
Compute (X*xScale + yScalar)*Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const double | |
| 3 | Y | double | |
| 4 | Z | TMtxVec * | |
| 5 | zScale | const double |
Computes the expression where X is scaled by xScale, then added to a scalar yScalar, and the result is multiplied element-wise by Z and finally scaled by zScale. This operation is performed without creating temporary objects.
Overload 4: Matrix AddAndMul(TMtx *X, const double xScale, double Y, TMtxVec *Z, const double zScale);
Compute (X*xScale + yScalar)*Z*zScale, when X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const double | |
| 3 | Y | double | |
| 4 | Z | TMtxVec * | |
| 5 | zScale | const double |
The operation does only per-element math.
Overload 5: Vector AddAndMul(TVec *X, const double xScale, TMtxVec *Y, const double yScale, const double Z);
Compute (X*xScale + Y*yScale)*zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const double | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const double | |
| 5 | Z | const double |
Computes the expression (X*xScale + Y*yScale) multiplied by a scalar zScalar without temporary objects.
Overload 6: Matrix AddAndMul(TMtx *X, const double xScale, TMtxVec *Y, const double yScale, const double Z);
Compute (X*xScale + Y*yScale)*zScalar, when X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const double | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const double | |
| 5 | Z | const double |
The operation does only per-element math.
Overload 7: Vector AddAndMul(TVec *X, const double xScale, double Y, double Z);
Compute (X*xScale + yScalar)*zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const double | |
| 3 | Y | double | |
| 4 | Z | double |
Computes the result of multiplying X by xScale, adding a scalar yScalar, and then multiplying the entire result by a scalar zScalar, all without creating temporary objects.
Overload 8: Matrix AddAndMul(TMtx *X, const double xScale, double Y, double Z);
Compute (X*xScale + yScalar)*zScalar, when X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const double | |
| 3 | Y | double | |
| 4 | Z | double |
The operation does only per-element math.
Overload 9: Vector AddAndMul(TVec *X, TMtxVec *Y, TMtxVec *Z);
Compute (X + Y)*Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | TMtxVec * |
Computes the product of the sum of X and Y multiplied by Z without temporary objects.
Overload 10: Matrix AddAndMul(TMtx *X, TMtxVec *Y, TMtxVec *Z);
Compute (X + Y)*Z, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | TMtxVec * |
The operation does only per-element math.
Overload 11: Vector AddAndMul(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 product of (X + Y) multiplied by Z and then by the scalar zScale, all without creating temporary objects.
Overload 12: Matrix AddAndMul(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 |
The operation does only per-element math.
Overload 13: Vector AddAndMul(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 product of (X plus Y scaled by yScale) multiplied by Z and then by zScale, without temporary objects.
Overload 14: Matrix AddAndMul(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 |
The operation does only per-element math.
Overload 15: Vector AddAndMul(TVec *X, TMtxVec *Y, const double Z);
Compute (X + Y)*zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | const double |
Computes the sum of X and Y multiplied by the scalar zScalar without temporary objects.
Overload 16: Matrix AddAndMul(TMtx *X, TMtxVec *Y, const double Z);
Compute (X + Y)*zScalar, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | TMtxVec * | |
| 3 | Z | const double |
Overload 17: Vector AddAndMul(TVec *X, TMtxVec *Y, const double yScale, const double Z);
Compute (X + Y*yScale)*zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | TMtxVec * | |
| 3 | yScale | const double | |
| 4 | Z | const double |
Computes the expression (X + Y*yScale) multiplied by a scalar zScalar without temporary objects.
Overload 18: Matrix AddAndMul(TMtx *X, TMtxVec *Y, const double yScale, const double Z);
Compute (X + Y*yScale)*zScalar, where X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | TMtxVec * | |
| 3 | yScale | const double | |
| 4 | Z | const double |
Overload 19: Vector AddAndMul(TVec *X, double Y, TMtxVec *Z, const double zScale);
Compute (X + yScalar)*Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | double | |
| 3 | Z | TMtxVec * | |
| 4 | zScale | const double |
Computes the expression (X + yScalar) multiplied by Z and then by zScale, without creating temporary objects.
Overload 20: Matrix AddAndMul(TMtx *X, double Y, TMtxVec *Z, const double zScale);
Compute (X + yScalar)*Z*zScale, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | double | |
| 3 | Z | TMtxVec * | |
| 4 | zScale | const double |
The operation does only per-element math.
Overload 21: Vector AddAndMul(TVec *X, const double xScale, const double Y, TMtxVec *Z);
Compute (X*xScale + yScalar)*Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | xScale | const double | |
| 3 | Y | const double | |
| 4 | Z | TMtxVec * |
Computes the expression (X scaled by xScale plus the scalar yScalar) multiplied by Z, without creating temporary objects.
Overload 22: Matrix AddAndMul(TMtx *X, const double xScale, const double Y, TMtxVec *Z);
Compute (X*xScale + yScalar)*Z, where X is a Matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const double | |
| 3 | Y | const double | |
| 4 | Z | TMtxVec * |
The operation does only per-element math.
Overload 23: Vector AddAndMul(TVec *X, double Y, TMtxVec *Z);
Compute (X + yScalar)*Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | double | |
| 3 | Z | TMtxVec * |
Computes the expression (X plus the scalar yScalar) multiplied by Z, without creating temporary objects.
Overload 24: Matrix AddAndMul(TMtx *X, double Y, TMtxVec *Z);
Compute (X + yScalar)*Z, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | double | |
| 3 | Z | TMtxVec * |
The operation does only per-element math.
Overload 25: Vector AddAndMul(TVec *X, double Y, double Z);
Compute (X + yScalar)*zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec * | |
| 2 | Y | double | |
| 3 | Z | double |
Computes the result of adding the scalar yScalar to X and then multiplying by the scalar zScalar, without creating temporary objects.
Overload 26: Matrix AddAndMul(TMtx *X, double Y, double Z);
Compute (X + yScalar)*zScalar, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | Y | double | |
| 3 | Z | double |
Overload 27: Vector AddAndMul(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 & |
Overload 28: Matrix AddAndMul(TMtx *X, const TCplx &xScale, TMtxVec *Y, const TCplx &yScale, TMtxVec *Z, const TCplx &zScale);
Compute (X*xScale + Y*yScale)*Z*zScale, where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx * | |
| 2 | xScale | const TCplx & | |
| 3 | Y | TMtxVec * | |
| 4 | yScale | const TCplx & | |
| 5 | Z | TMtxVec * | |
| 6 | zScale | const TCplx & |
Overload 29: Vector AddAndMul(TVec *X, const TCplx &xScale, TCplx Y, TMtxVec *Z, const TCplx &zScale);
Compute (X*xScale + yScalar)*Z*zScale
Overload 30: Matrix AddAndMul(TMtx *X, const TCplx &xScale, TCplx Y, TMtxVec *Z, const TCplx &zScale);
Compute (X*xScale + yScalar)*Z*zScale, where X is a Matrix
Overload 31: Vector AddAndMul(TVec *X, const TCplx &xScale, TMtxVec *Y, const TCplx &yScale, const TCplx &Z);
Compute (X*xScale + Y*yScale)*zScalar
Overload 32: Matrix AddAndMul(TMtx *X, const TCplx &xScale, TMtxVec *Y, const TCplx &yScale, const TCplx &Z);
Compute (X*xScale + Y*yScale)*zScalar, where X is a Matrix
Overload 33: Vector AddAndMul(TVec *X, const TCplx &xScale, TCplx Y, TCplx Z);
Compute (X*xScale + yScalar)*zScalar