TMtxSmallInt.AddAndMul Method

Overload List

#SignatureDescription
1function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt): TMtxVecInt;self = (X + Y)*Z
└ indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;
2function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X + Y)*Z*zScale
└ indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;
3function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; Z: Integer): TMtxVecInt;self = (X + Y)*zScalar
└ indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;
4function AddAndMul(const X: TMtxVecInt; Y: Integer; const Z: TMtxVecInt): TMtxVecInt;self = (X + yScalar)*Z
└ indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;
5function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; yScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X + Y*yScale)*Z*zScale
6function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X + Y*yScale)*Z*zScale
7function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; yScale: Integer; Z: Integer): TMtxVecInt;self = (X + Y*yScale)*zScalar
8function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X + Y*yScale)*zScalar
9function AddAndMul(const X: TMtxVecInt; Y: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X + yScalar)*Z*zScale
10function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X + yScalar)*Z*zScale
11function AddAndMul(const X: TMtxVecInt; xScale: Integer; const Y: TMtxVecInt; yScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X*xScale + Y*yScale)*Z*zScale
12function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X*xScale + Y*yScale)*Z*Scale
13function AddAndMul(const X: TMtxVecInt; xScale: Integer; const Y: TMtxVecInt; yScale: Integer; Z: Integer): TMtxVecInt;self = (X*xScale + Y*yScale)*zScalar
14function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X*xScale + Y*yScale)*zScalar
15function AddAndMul(const X: TMtxVecInt; Y: Integer; Z: Integer): TMtxVecInt;self = (X + yScalar)*zScalar
16function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X + yScalar)*zScalar
17function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; const Z: TMtxVecInt): TMtxVecInt;self = (X*xScale + yScalar)*Z
18function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X*xScale + yScalar)*Z
19function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X*xScale + yScalar)*Z*zScale
20function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X*xScale + yScalar)*Z*zScale
21function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; Z: Integer): TMtxVecInt;self = (X*xScale + yScalar)*zScalar
22function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X*xScale + yScalar)*zScalar

Overload 1: function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt): TMtxVecInt;

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: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;

Compute (X + Y)*Z on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexIntegerY start index
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInteger
7IndexIntegerstart index
8LenIntegerelement count

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

Overload 2: function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

Compute (X + Y)*Z*zScale

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

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

Indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexIntegerY start index
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInteger
7zScaleInteger
8IndexIntegerstart index
9LenIntegerelement count

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

Overload 3: function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; Z: Integer): TMtxVecInt;

Compute (X + Y)*zScalar

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

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

Indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;

Compute (X + Y)*zScalar on sub array

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexIntegerY start index
5ZInteger
6IndexIntegerstart index
7LenIntegerelement count

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

Overload 4: function AddAndMul(const X: TMtxVecInt; Y: Integer; const Z: TMtxVecInt): TMtxVecInt;

Compute (X + yScalar)*Z

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

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

Indexed: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YInteger
4ZTMtxVecIntsource TVecInt or TMtxInt
5zIndexInteger
6IndexIntegerstart index
7LenIntegerelement count

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

Overload 5: function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; yScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3yScaleInteger
4ZTMtxVecIntsource TVecInt or TMtxInt
5zScaleInteger

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

Overload 6: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexIntegerY start index
5yScaleInteger
6ZTMtxVecIntsource TVecInt or TMtxInt
7zIndexInteger
8zScaleInteger
9IndexIntegerstart index
10LenIntegerelement count

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

Overload 7: function AddAndMul(const X: TMtxVecInt; const Y: TMtxVecInt; yScale: Integer; Z: Integer): TMtxVecInt;

Compute (X + Y*yScale)*zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YTMtxVecIntsource TVecInt or TMtxInt
3yScaleInteger
4ZInteger

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

Overload 8: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YTMtxVecIntsource TVecInt or TMtxInt
4YIndexIntegerY start index
5yScaleInteger
6ZInteger
7IndexIntegerstart index
8LenIntegerelement count

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

Overload 9: function AddAndMul(const X: TMtxVecInt; Y: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

Compute (X + yScalar)*Z*zScale

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YInteger
3ZTMtxVecIntsource TVecInt or TMtxInt
4zScaleInteger

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

Overload 10: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YInteger
4ZTMtxVecIntsource TVecInt or TMtxInt
5zIndexInteger
6zScaleInteger
7IndexIntegerstart index
8LenIntegerelement count

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

Overload 11: function AddAndMul(const X: TMtxVecInt; xScale: Integer; const Y: TMtxVecInt; yScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2xScaleInteger
3YTMtxVecIntsource TVecInt or TMtxInt
4yScaleInteger
5ZTMtxVecIntsource TVecInt or TMtxInt
6zScaleInteger

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.

Overload 12: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3xScaleInteger
4YTMtxVecIntsource TVecInt or TMtxInt
5YIndexIntegerY start index
6yScaleInteger
7ZTMtxVecIntsource TVecInt or TMtxInt
8zIndexInteger
9zScaleInteger
10IndexIntegerstart index
11LenIntegerelement count

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

Overload 13: function AddAndMul(const X: TMtxVecInt; xScale: Integer; const Y: TMtxVecInt; yScale: Integer; Z: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2xScaleInteger
3YTMtxVecIntsource TVecInt or TMtxInt
4yScaleInteger
5ZInteger

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

Overload 14: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; const Y: TMtxVecInt; YIndex: Integer; yScale: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3xScaleInteger
4YTMtxVecIntsource TVecInt or TMtxInt
5YIndexIntegerY start index
6yScaleInteger
7ZInteger
8IndexIntegerstart index
9LenIntegerelement count

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

Overload 15: function AddAndMul(const X: TMtxVecInt; Y: Integer; Z: Integer): TMtxVecInt;

Compute (X + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2YInteger
3ZInteger

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

Overload 16: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; Y: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3YInteger
4ZInteger
5IndexIntegerstart index
6LenIntegerelement count

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

Overload 17: function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; const Z: TMtxVecInt): TMtxVecInt;

Compute (X*xScale + yScalar)*Z

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2xScaleInteger
3YInteger
4ZTMtxVecIntsource TVecInt or TMtxInt

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

Overload 18: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3xScaleInteger
4YInteger
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInteger
7IndexIntegerstart index
8LenIntegerelement count

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

Overload 19: function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2xScaleInteger
3YInteger
4ZTMtxVecIntsource TVecInt or TMtxInt
5zScaleInteger

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

Overload 20: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3xScaleInteger
4YInteger
5ZTMtxVecIntsource TVecInt or TMtxInt
6zIndexInteger
7zScaleInteger
8IndexIntegerstart index
9LenIntegerelement count

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

Overload 21: function AddAndMul(const X: TMtxVecInt; xScale: Integer; Y: Integer; Z: Integer): TMtxVecInt;

Compute (X*xScale + yScalar)*zScalar

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2xScaleInteger
3YInteger
4ZInteger

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

Overload 22: function AddAndMul(const X: TMtxVecInt; XIndex: Integer; xScale: Integer; Y: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;

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

#NameTypeDescription
1XTMtxVecIntsource TVecInt or TMtxInt
2XIndexIntegerX start index
3xScaleInteger
4YInteger
5ZInteger
6IndexIntegerstart index
7LenIntegerelement count

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