TVecInt.MulAndAdd Method

Overload List

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

Overload 1: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, TMtxVecInt Z)

Compute X*Y + Z

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3ZTMtxVecIntsource TVecInt or TMtxInt

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

Indexed: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 XIndex, TMtxVecInt Y, Int32 YIndex, TMtxVecInt Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute X*Y + Z on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInt32
7IndexInt32start index
8LenInt32element count

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

Overload 2: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, TMtxVecInt Z, Int32 zScale)

Compute X*Y + Z*zScale

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3ZTMtxVecIntsource TVecInt or TMtxInt
4zScaleInt32

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

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

Compute X*Y + Z*zScale on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInt32
7zScaleInt32
8IndexInt32start index
9LenInt32element count

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

Overload 3: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, Int32 Z)

Compute X*Y + zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3ZInt32

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

Indexed: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 XIndex, TMtxVecInt Y, Int32 YIndex, Int32 Z, Int32 Index, Int32 Len)

Compute X*Y + zScalar on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5ZInt32
6IndexInt32start index
7LenInt32element count

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

Overload 4: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, Int32 xyScale, TMtxVecInt Z)

Compute X*Y*xyScale + Z

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3xyScaleInt32
4ZTMtxVecIntsource TVecInt or TMtxInt

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

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

Compute X*Y*xyScale + Z on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5xyScaleInt32
6ZTMtxVecIntsource TVecInt or TMtxInt
7zIndexInt32
8IndexInt32start index
9LenInt32element count

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

Overload 5: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, Int32 xyScale, TMtxVecInt Z, Int32 zScale)

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3xyScaleInt32
4ZTMtxVecIntsource TVecInt or TMtxInt
5zScaleInt32

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

Overload 6: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 XIndex, TMtxVecInt Y, Int32 YIndex, Int32 xyScale, TMtxVecInt Z, Int32 zIndex, Int32 zScale, Int32 Index, Int32 Len)

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5xyScaleInt32
6ZTMtxVecIntsource TVecInt or TMtxInt
7zIndexInt32
8zScaleInt32
9IndexInt32start index
10LenInt32element count

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

Overload 7: TMtxVecInt MulAndAdd(TMtxVecInt X, TMtxVecInt Y, Int32 xyScale, Int32 Z)

Compute (X*Y)*xyScale + zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3xyScaleInt32
4ZInt32

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

Overload 8: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 XIndex, TMtxVecInt Y, Int32 YIndex, Int32 xyScale, Int32 Z, Int32 Index, Int32 Len)

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexInt32Y start index
5xyScaleInt32
6ZInt32
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 9: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 Y, Int32 Z)

Compute (X*yScalar) + zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YInt32
3ZInt32

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

Overload 10: TMtxVecInt MulAndAdd(TMtxVecInt X, Int32 XIndex, Int32 Y, Int32 Z, Int32 Index, Int32 Len)

Compute (X*yScalar) + zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexInt32X start index
3YInt32
4ZInt32
5IndexInt32start index
6LenInt32element count

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