TMtx.MulAndAdd Method

Overload List

#SignatureDescription
1TMtxVec MulAndAdd(TMtxVec X, TCplx Y, TCplx Z)self = (X*yScalar) + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TCplx Y, TCplx Z, Int32 Index, Int32 Len)
2TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx Z)self = X*Y + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx Z, Int32 Index, Int32 Len)
3TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TCplx Z)self = (X*Y)*xyScale + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx xyScale, TCplx Z, Int32 Index, Int32 Len)
4TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TMtxVec Z)self = X*Y*xyScale + Z
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx xyScale, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
5TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TMtxVec Z, TCplx zScale)self = (X*Y)*xyScale + Z*zScale
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx xyScale, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
6TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TMtxVec Z)self = X*Y + Z
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
7TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TMtxVec Z, TCplx zScale)self = X*Y + Z*zScale
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, TCplx zScale, Int32 Index, Int32 Len)
8TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TMtxVec Z, Double zScale)self = X*Y + Z*zScale
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
9TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double Z)self = X*Y + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double Z, Int32 Index, Int32 Len)
10TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, TMtxVec Z)self = X*Y*xyScale + Z
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double xyScale, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
11TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, TMtxVec Z, Double zScale)self = (X*Y)*xyScale + Z*zScale
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double xyScale, TMtxVec Z, Int32 zIndex, Double zScale, Int32 Index, Int32 Len)
12TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, Double Z)self = (X*Y)*xyScale + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double xyScale, Double Z, Int32 Index, Int32 Len)
13TMtxVec MulAndAdd(TMtxVec X, Double Y, Double Z)self = (X*yScalar) + zScalar
└ indexed: TMtxVec MulAndAdd(TMtxVec X, Int32 XIndex, Double Y, Double Z, Int32 Index, Int32 Len)

Overload 1: TMtxVec MulAndAdd(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 MulAndAdd(TMtxVec X, Int32 XIndex, TCplx Y, TCplx Z, Int32 Index, Int32 Len)

Compute (X*yScalar) + zScalar

#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 MulAndAdd(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 MulAndAdd(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 3: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TCplx Z)

Compute (X*Y)*xyScale + zScalar

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

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

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

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

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

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

Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Y parameter:

X^2*xyScale + zScale

Overload 4: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TMtxVec Z)

Compute X*Y*xyScale + Z

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

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

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

Compute X*Y*xyScale + Z on sub array

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

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

Overload 5: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, TCplx xyScale, TMtxVec Z, TCplx zScale)

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

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

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

Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Y parameter:

X^2*xyScale + Z*zScale

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

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

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

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

Overload 6: TMtxVec MulAndAdd(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 MulAndAdd(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 7: TMtxVec MulAndAdd(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 MulAndAdd(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 8: TMtxVec MulAndAdd(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 MulAndAdd(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 9: TMtxVec MulAndAdd(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 MulAndAdd(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 10: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, TMtxVec Z)

Compute X*Y*xyScale + Z

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

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

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

Compute X*Y*xyScale + Z on sub array

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

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

Overload 11: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, TMtxVec Z, Double zScale)

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

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

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

Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Y parameter:

X^2*xyScale + Z*zScale

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

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

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

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

Overload 12: TMtxVec MulAndAdd(TMtxVec X, TMtxVec Y, Double xyScale, Double Z)

Compute (X*Y)*xyScale + zScalar

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

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

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

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

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

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

Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Y parameter:

X^2*xyScale + zScale

Overload 13: TMtxVec MulAndAdd(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 MulAndAdd(TMtxVec X, Int32 XIndex, Double Y, Double Z, Int32 Index, Int32 Len)

Compute (X*yScalar) + zScalar

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

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