TVecSmallInt.DivAndAdd Method

Overload List

#SignatureDescription
1function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt): TMtxVecInt;self = X/Y + Z
└ indexed: function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;
2function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = X/Y + Z*zScale
└ indexed: function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;
3function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; Z: Integer): TMtxVecInt;self = X/Y + zScalar
└ indexed: function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;
4function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; const Z: TMtxVecInt): TMtxVecInt;self = X/Y*xyScale + Z
└ indexed: function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; xyScale: Integer; const Z: TMtxVecInt; zIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;
5function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;self = (X / Y)*xyScale + Z*zScale
6function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; xyScale: Integer; const Z: TMtxVecInt; zIndex: Integer; zScale: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X / Y)*xyScale + Z*zScale
7function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; Z: Integer): TMtxVecInt;self = (X / Y) * xyScale + zScalar
8function DivAndAdd(const X: TMtxVecInt; XIndex: Integer; const Y: TMtxVecInt; YIndex: Integer; xyScale: Integer; Z: Integer; Index: Integer; Len: Integer): TMtxVecInt;self = (X / Y) * xyScale + zScalar

Overload 1: function DivAndAdd(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 DivAndAdd(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 DivAndAdd(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 DivAndAdd(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 DivAndAdd(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 DivAndAdd(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 DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; const Z: TMtxVecInt): TMtxVecInt;

Compute X/Y*xyScale + Z

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

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

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

Compute X/Y*xyScale + Z on sub array

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

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

Overload 5: function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; const Z: TMtxVecInt; zScale: Integer): TMtxVecInt;

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

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

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 Z also for the Y parameter:

(X / Z) xyScale + Z zScale

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

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

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

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

Overload 7: function DivAndAdd(const X: TMtxVecInt; const Y: TMtxVecInt; xyScale: Integer; Z: Integer): TMtxVecInt;

Compute (X / Y) * xyScale + zScalar

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

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

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

Compute (X / Y) * xyScale + zScalar

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

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