TMtx.AddAndMul Method

Overload List

#SignatureDescription
1TMtxVec AddAndMul(TMtxVec X, TCplx Y, TCplx Z)self = (X + yScalar)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TCplx Z, Int32 Index, Int32 Len)
2TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TCplx Z)self = (X*xScale + yScalar)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TCplx Z, Int32 Index, Int32 Len)
3TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TMtxVec Z)self = (X*xScale + yScalar)*Z
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
4TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TMtxVec Z, TCplx zScale)self = (X* xScale + yScalar)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
5TMtxVec AddAndMul(TMtxVec X, TCplx Y, TMtxVec Z)self = (X + yScalar)*Z
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
6TMtxVec AddAndMul(TMtxVec X, TCplx Y, TMtxVec Z, TCplx zScale)self = (X + yScalar)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
7TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TMtxVec Y, TCplx yScale, TCplx Z)self = (X*xScale + Y*yScale)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TMtxVec Y, Int32 YIndex, TCplx yScale, TCplx Z, Int32 Index, Int32 Len)
8TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TMtxVec Y, TCplx yScale, TMtxVec Z, TCplx zScale)self = (X*xScale + Y*yScale)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TMtxVec Y, Int32 YIndex, TCplx yScale, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
9TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx Z)self = (X + Y)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx Z, Int32 Index, Int32 Len)
10TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx yScale, TCplx Z)self = (X + Y*yScale)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx yScale, TCplx Z, Int32 Index, Int32 Len)
11TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx yScale, TMtxVec Z, TCplx zScale)self = (X + Y*yScale)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx yScale, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
12TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z)self = (X + Y)*Z
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
13TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z, TCplx zScale)self = (X + Y)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
14TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z, Double zScale)self = (X + Y)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
15TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double Z)self = (X + Y)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double Z, Int32 Index, Int32 Len)
16TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double yScale, TMtxVec Z, Double zScale)self = (X + Y*yScale)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double yScale, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
17TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double yScale, Double Z)self = (X + Y*yScale)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double yScale, Double Z, Int32 Index, Int32 Len)
18TMtxVec AddAndMul(TMtxVec X, Double Y, TMtxVec Z)self = (X + yScalar)*Z
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
19TMtxVec AddAndMul(TMtxVec X, Double Y, TMtxVec Z, Double zScale)self = (X + yScalar)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
20TMtxVec AddAndMul(TMtxVec X, Double xScale, TMtxVec Y, Double yScale, TMtxVec Z, Double zScale)self = (X*xScale + Y*yScale)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, TMtxVec Y, Int32 YIndex, Double yScale, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
21TMtxVec AddAndMul(TMtxVec X, Double xScale, TMtxVec Y, Double yScale, Double Z)self = (X*xScale + Y*yScale)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, TMtxVec Y, Int32 YIndex, Double yScale, Double Z, Int32 Index, Int32 Len)
22TMtxVec AddAndMul(TMtxVec X, Double Y, Double Z)self = (X + yScalar)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, Double Z, Int32 Index, Int32 Len)
23TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, TMtxVec Z)self = (X*xScale + yScalar)*Z
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
24TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, TMtxVec Z, Double zScale)self = (X* xScale + yScalar)*Z*zScale
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
25TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, Double Z)self = (X*xScale + yScalar)*zScalar
└ indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, Double Z, Int32 Index, Int32 Len)

Overload 1: TMtxVec AddAndMul(TMtxVec X, TCplx Y, TCplx Z)

Compute (X + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTCplxscalar
3ZTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TCplx Z, Int32 Index, Int32 Len)

Compute (X + yScalar)*zScalar on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTCplxscalar
4ZTCplxscalar
5IndexInt32start index
6LenInt32element count

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

Overload 2: TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TCplx Z)

Compute (X*xScale + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleTCplxscalar
3YTCplxscalar
4ZTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TCplx Z, Int32 Index, Int32 Len)

Compute (X*xScale + yScalar)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleTCplxscalar
4YTCplxscalar
5ZTCplxscalar
6IndexInt32start index
7LenInt32element count

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

Overload 3: TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TMtxVec Z)

Compute (X*xScale + yScalar)*Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleTCplxscalar
3YTCplxscalar
4ZTMtxVecsource TVec or TMtx

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute (X*xScale + yScalar)*Z on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleTCplxscalar
4YTCplxscalar
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7IndexInt32start index
8LenInt32element count

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

Overload 4: TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TCplx Y, TMtxVec Z, TCplx zScale)

Compute (X* xScale + yScalar)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleTCplxscalar
3YTCplxscalar
4ZTMtxVecsource TVec or TMtx
5zScaleTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TCplx Y, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)

Compute (X* xScale + yScalar)*Z*zScale on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleTCplxscalar
4YTCplxscalar
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7zScaleTCplxscalar
8IndexInt32start index
9LenInt32element count

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

Overload 5: TMtxVec AddAndMul(TMtxVec X, TCplx Y, TMtxVec Z)

Compute (X + yScalar)*Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTCplxscalar
3ZTMtxVecsource TVec or TMtx

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute (X + yScalar)*Z on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTCplxscalar
4ZTMtxVecsource TVec or TMtx
5zIndexInt32
6IndexInt32start index
7LenInt32element count

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

Overload 6: TMtxVec AddAndMul(TMtxVec X, TCplx Y, TMtxVec Z, TCplx zScale)

Compute (X + yScalar)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTCplxscalar
3ZTMtxVecsource TVec or TMtx
4zScaleTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx Y, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)

Compute (X + yScalar)*Z*zScale on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTCplxscalar
4ZTMtxVecsource TVec or TMtx
5zIndexInt32
6zScaleTCplxscalar
7IndexInt32start index
8LenInt32element count

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

Overload 7: TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TMtxVec Y, TCplx yScale, TCplx Z)

Compute (X*xScale + Y*yScale)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleTCplxscalar
3YTMtxVecsource TVec or TMtx
4yScaleTCplxscalar
5ZTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TMtxVec Y, Int32 YIndex, TCplx yScale, TCplx Z, Int32 Index, Int32 Len)

Compute (X*xScale + Y*yScale)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleTCplxscalar
4YTMtxVecsource TVec or TMtx
5YIndexInt32Y start index
6yScaleTCplxscalar
7ZTCplxscalar
8IndexInt32start index
9LenInt32element count

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

Overload 8: TMtxVec AddAndMul(TMtxVec X, TCplx xScale, TMtxVec Y, TCplx yScale, TMtxVec Z, TCplx zScale)

Compute (X*xScale + Y*yScale)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleTCplxscalar
3YTMtxVecsource TVec or TMtx
4yScaleTCplxscalar
5ZTMtxVecsource TVec or TMtx
6zScaleTCplxscalar

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

Remarks:

The following is also possible at the same or higher speed:

X^2 xScale + XY yScale

by passing X also for the Z parameter.

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TCplx xScale, TMtxVec Y, Int32 YIndex, TCplx yScale, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)

Compute (X*xScale + Y*yScale)*Z*Scale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleTCplxscalar
4YTMtxVecsource TVec or TMtx
5YIndexInt32Y start index
6yScaleTCplxscalar
7ZTMtxVecsource TVec or TMtx
8zIndexInt32
9zScaleTCplxscalar
10IndexInt32start index
11LenInt32element count

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

Overload 9: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx Z)

Compute (X + Y)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx Z, Int32 Index, Int32 Len)

Compute (X + Y)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTCplxscalar
6IndexInt32start index
7LenInt32element count

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

Overload 10: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx yScale, TCplx Z)

Compute (X + Y*yScale)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3yScaleTCplxscalar
4ZTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx yScale, TCplx Z, Int32 Index, Int32 Len)

Compute (X + Y*yScale)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5yScaleTCplxscalar
6ZTCplxscalar
7IndexInt32start index
8LenInt32element count

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

Overload 11: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TCplx yScale, TMtxVec Z, TCplx zScale)

Compute (X + Y*yScale)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3yScaleTCplxscalar
4ZTMtxVecsource TVec or TMtx
5zScaleTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx yScale, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)

Compute (X + Y*yScale)*Z*zScale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5yScaleTCplxscalar
6ZTMtxVecsource TVec or TMtx
7zIndexInt32
8zScaleTCplxscalar
9IndexInt32start index
10LenInt32element count

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

Overload 12: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z)

Compute (X + Y)*Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZTMtxVecsource TVec or TMtx

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute (X + Y)*Z on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7IndexInt32start index
8LenInt32element count

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

Overload 13: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z, TCplx zScale)

Compute (X + Y)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZTMtxVecsource TVec or TMtx
4zScaleTCplxscalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)

Compute (X + Y)*Z*zScale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7zScaleTCplxscalar
8IndexInt32start index
9LenInt32element count

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

Overload 14: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, TMtxVec Z, Double zScale)

Compute (X + Y)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZTMtxVecsource TVec or TMtx
4zScaleDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)

Compute (X + Y)*Z*zScale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7zScaleDoublescalar
8IndexInt32start index
9LenInt32element count

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

Overload 15: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double Z)

Compute (X + Y)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double Z, Int32 Index, Int32 Len)

Compute (X + Y)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZDoublescalar
6IndexInt32start index
7LenInt32element count

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

Overload 16: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double yScale, TMtxVec Z, Double zScale)

Compute (X + Y*yScale)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3yScaleDoublescalar
4ZTMtxVecsource TVec or TMtx
5zScaleDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double yScale, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)

Compute (X + Y*yScale)*Z*zScale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5yScaleDoublescalar
6ZTMtxVecsource TVec or TMtx
7zIndexInt32
8zScaleDoublescalar
9IndexInt32start index
10LenInt32element count

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

Overload 17: TMtxVec AddAndMul(TMtxVec X, TMtxVec Y, Double yScale, Double Z)

Compute (X + Y*yScale)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3yScaleDoublescalar
4ZDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double yScale, Double Z, Int32 Index, Int32 Len)

Compute (X + Y*yScale)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5yScaleDoublescalar
6ZDoublescalar
7IndexInt32start index
8LenInt32element count

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

Overload 18: TMtxVec AddAndMul(TMtxVec X, Double Y, TMtxVec Z)

Compute (X + yScalar)*Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YDoublescalar
3ZTMtxVecsource TVec or TMtx

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute (X + yScalar)*Z on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YDoublescalar
4ZTMtxVecsource TVec or TMtx
5zIndexInt32
6IndexInt32start index
7LenInt32element count

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

Overload 19: TMtxVec AddAndMul(TMtxVec X, Double Y, TMtxVec Z, Double zScale)

Compute (X + yScalar)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YDoublescalar
3ZTMtxVecsource TVec or TMtx
4zScaleDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)

Compute (X + yScalar)*Z*zScale on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YDoublescalar
4ZTMtxVecsource TVec or TMtx
5zIndexInt32
6zScaleDoublescalar
7IndexInt32start index
8LenInt32element count

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

Overload 20: TMtxVec AddAndMul(TMtxVec X, Double xScale, TMtxVec Y, Double yScale, TMtxVec Z, Double zScale)

Compute (X*xScale + Y*yScale)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleDoublescalar
3YTMtxVecsource TVec or TMtx
4yScaleDoublescalar
5ZTMtxVecsource TVec or TMtx
6zScaleDoublescalar

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

Remarks:

The following is also possible at the same or higher speed:

X^2 xScale + XY yScale

by passing X also for the Z parameter.

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, TMtxVec Y, Int32 YIndex, Double yScale, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)

Compute (X*xScale + Y*yScale)*Z*Scale on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleDoublescalar
4YTMtxVecsource TVec or TMtx
5YIndexInt32Y start index
6yScaleDoublescalar
7ZTMtxVecsource TVec or TMtx
8zIndexInt32
9zScaleDoublescalar
10IndexInt32start index
11LenInt32element count

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

Overload 21: TMtxVec AddAndMul(TMtxVec X, Double xScale, TMtxVec Y, Double yScale, Double Z)

Compute (X*xScale + Y*yScale)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleDoublescalar
3YTMtxVecsource TVec or TMtx
4yScaleDoublescalar
5ZDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, TMtxVec Y, Int32 YIndex, Double yScale, Double Z, Int32 Index, Int32 Len)

Compute (X*xScale + Y*yScale)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleDoublescalar
4YTMtxVecsource TVec or TMtx
5YIndexInt32Y start index
6yScaleDoublescalar
7ZDoublescalar
8IndexInt32start index
9LenInt32element count

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

Overload 22: TMtxVec AddAndMul(TMtxVec X, Double Y, Double Z)

Compute (X + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YDoublescalar
3ZDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double Y, Double Z, Int32 Index, Int32 Len)

Compute (X + yScalar)*zScalar on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YDoublescalar
4ZDoublescalar
5IndexInt32start index
6LenInt32element count

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

Overload 23: TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, TMtxVec Z)

Compute (X*xScale + yScalar)*Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleDoublescalar
3YDoublescalar
4ZTMtxVecsource TVec or TMtx

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute (X*xScale + yScalar)*Z on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleDoublescalar
4YDoublescalar
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7IndexInt32start index
8LenInt32element count

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

Overload 24: TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, TMtxVec Z, Double zScale)

Compute (X* xScale + yScalar)*Z*zScale

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleDoublescalar
3YDoublescalar
4ZTMtxVecsource TVec or TMtx
5zScaleDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)

Compute (X* xScale + yScalar)*Z*zScale on sub-array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleDoublescalar
4YDoublescalar
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7zScaleDoublescalar
8IndexInt32start index
9LenInt32element count

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

Overload 25: TMtxVec AddAndMul(TMtxVec X, Double xScale, Double Y, Double Z)

Compute (X*xScale + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2xScaleDoublescalar
3YDoublescalar
4ZDoublescalar

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

Indexed: TMtxVec AddAndMul(TMtxVec X, Int32 XIndex, Double xScale, Double Y, Double Z, Int32 Index, Int32 Len)

Compute (X*xScale + yScalar)*zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3xScaleDoublescalar
4YDoublescalar
5ZDoublescalar
6IndexInt32start index
7LenInt32element count

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