Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TCplx): TMtxVec; | self = X/Y + zScalar |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TCplx; Index: Integer; Len: Integer): TMtxVec; | ||
| 2 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TCplx): TMtxVec; | self = (X / Y) * xyScale + zScalar |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TCplx; Index: Integer; Len: Integer): TMtxVec; | ||
| 3 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TMtxVec): TMtxVec; | self = X/Y*xyScale + Z |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 4 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TMtxVec; const zScale: TCplx): TMtxVec; | self = (X / Y)*xyScale + Z*zScale |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TMtxVec; zIndex: Integer; const zScale: TCplx; Index: Integer; Len: Integer): TMtxVec; | ||
| 5 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec): TMtxVec; | self = X/Y + Z |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 6 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec; const zScale: TCplx): TMtxVec; | self = X/Y + Z*zScale |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; const zScale: TCplx; Index: Integer; Len: Integer): TMtxVec; | ||
| 7 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec; const zScale: Double): TMtxVec; | self = X/Y + Z*zScale |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; const zScale: Double; Index: Integer; Len: Integer): TMtxVec; | ||
| 8 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: Double): TMtxVec; | self = X/Y + zScalar |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: Double; Index: Integer; Len: Integer): TMtxVec; | ||
| 9 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: TMtxVec): TMtxVec; | self = X/Y*xyScale + Z |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 10 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: TMtxVec; const zScale: Double): TMtxVec; | self = (X / Y)*xyScale + Z*zScale |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: TMtxVec; zIndex: Integer; const zScale: Double; Index: Integer; Len: Integer): TMtxVec; | ||
| 11 | function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: Double): TMtxVec; | self = (X / Y) * xyScale + zScalar |
| └ indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: Double; Index: Integer; Len: Integer): TMtxVec; |
Overload 1: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TCplx): TMtxVec;
Compute X/Y + zScalar
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TCplx; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y + zScalar on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | Z | TCplx | scalar |
| 6 | Index | Integer | start index |
| 7 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 2: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TCplx): TMtxVec;
Compute (X / Y) * xyScale + zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | TCplx | scalar |
| 4 | Z | TCplx | scalar |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TCplx; Index: Integer; Len: Integer): TMtxVec;
Compute (X / Y) * xyScale + zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | TCplx | scalar |
| 6 | Z | TCplx | scalar |
| 7 | Index | Integer | start index |
| 8 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 3: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TMtxVec): TMtxVec;
Compute X/Y*xyScale + Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | TCplx | scalar |
| 4 | Z | TMtxVec | source TVec or TMtx |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y*xyScale + Z on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | TCplx | scalar |
| 6 | Z | TMtxVec | source TVec or TMtx |
| 7 | zIndex | Integer | |
| 8 | Index | Integer | start index |
| 9 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 4: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: TCplx; const Z: TMtxVec; const zScale: TCplx): TMtxVec;
Compute (X / Y)*xyScale + Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | TCplx | scalar |
| 4 | Z | TMtxVec | source TVec or TMtx |
| 5 | zScale | TCplx | scalar |
Result: stored in self (calling object), returns self for chaining
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
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: TCplx; const Z: TMtxVec; zIndex: Integer; const zScale: TCplx; Index: Integer; Len: Integer): TMtxVec;
Compute (X / Y)*xyScale + Z*zScale on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | TCplx | scalar |
| 6 | Z | TMtxVec | source TVec or TMtx |
| 7 | zIndex | Integer | |
| 8 | zScale | TCplx | scalar |
| 9 | Index | Integer | start index |
| 10 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 5: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec): TMtxVec;
Compute X/Y + Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | Z | TMtxVec | source TVec or TMtx |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y + Z on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | Z | TMtxVec | source TVec or TMtx |
| 6 | zIndex | Integer | |
| 7 | Index | Integer | start index |
| 8 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 6: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec; const zScale: TCplx): TMtxVec;
Compute X/Y + Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | Z | TMtxVec | source TVec or TMtx |
| 4 | zScale | TCplx | scalar |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; const zScale: TCplx; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y + Z*zScale on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | Z | TMtxVec | source TVec or TMtx |
| 6 | zIndex | Integer | |
| 7 | zScale | TCplx | scalar |
| 8 | Index | Integer | start index |
| 9 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 7: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: TMtxVec; const zScale: Double): TMtxVec;
Compute X/Y + Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | Z | TMtxVec | source TVec or TMtx |
| 4 | zScale | Double | scalar |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: TMtxVec; zIndex: Integer; const zScale: Double; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y + Z*zScale on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | Z | TMtxVec | source TVec or TMtx |
| 6 | zIndex | Integer | |
| 7 | zScale | Double | scalar |
| 8 | Index | Integer | start index |
| 9 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 8: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const Z: Double): TMtxVec;
Compute X/Y + zScalar
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const Z: Double; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y + zScalar on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | Z | Double | scalar |
| 6 | Index | Integer | start index |
| 7 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 9: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: TMtxVec): TMtxVec;
Compute X/Y*xyScale + Z
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | Double | scalar |
| 4 | Z | TMtxVec | source TVec or TMtx |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: TMtxVec; zIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Compute X/Y*xyScale + Z on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | Double | scalar |
| 6 | Z | TMtxVec | source TVec or TMtx |
| 7 | zIndex | Integer | |
| 8 | Index | Integer | start index |
| 9 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 10: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: TMtxVec; const zScale: Double): TMtxVec;
Compute (X / Y)*xyScale + Z*zScale
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | Double | scalar |
| 4 | Z | TMtxVec | source TVec or TMtx |
| 5 | zScale | Double | scalar |
Result: stored in self (calling object), returns self for chaining
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
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: TMtxVec; zIndex: Integer; const zScale: Double; Index: Integer; Len: Integer): TMtxVec;
Compute (X / Y)*xyScale + Z*zScale on sub array
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | Double | scalar |
| 6 | Z | TMtxVec | source TVec or TMtx |
| 7 | zIndex | Integer | |
| 8 | zScale | Double | scalar |
| 9 | Index | Integer | start index |
| 10 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Overload 11: function DivAndAdd(const X: TMtxVec; const Y: TMtxVec; const xyScale: Double; const Z: Double): TMtxVec;
Compute (X / Y) * xyScale + zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Y | TMtxVec | source TVec or TMtx |
| 3 | xyScale | Double | scalar |
| 4 | Z | Double | scalar |
Result: stored in self (calling object), returns self for chaining
Indexed: function DivAndAdd(const X: TMtxVec; XIndex: Integer; const Y: TMtxVec; YIndex: Integer; const xyScale: Double; const Z: Double; Index: Integer; Len: Integer): TMtxVec;
Compute (X / Y) * xyScale + zScalar
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Integer | X start index |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | YIndex | Integer | Y start index |
| 5 | xyScale | Double | scalar |
| 6 | Z | Double | scalar |
| 7 | Index | Integer | start index |
| 8 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining