Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function Cbrt: TMtxVec; | The cube root. |
| └ indexed: function Cbrt(Index: Integer; Len: Integer): TMtxVec; | ||
| 2 | function Cbrt(const X: TMtxVec): TMtxVec; | Calculate the cube root of all X object elements and store the results in calling object. |
| └ indexed: function Cbrt(const X: TMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec; |
Overload 1: function Cbrt: TMtxVec;
The cube root.
Result: stored in self (calling object), returns self for chaining
Calculate the cube root of all calling object elements in-place.
var v,w: Vector;
begin
v.SetIt(false,[1,8]);
v.Cbrt; // v = [1,2], same as:
v := Cbrt(v);
w := Cbrt(v); //same as:
w.Cbrt(v);
end;
var
a, expected: Vector;
begin
a := [1.0, 8.0, 27.0, 64.0];
a.Cbrt;
expected := [1.0, 2.0, 3.0, 4.0];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Vector.Cbrt: mismatch');
end;
Indexed: function Cbrt(Index: Integer; Len: Integer): TMtxVec;
Calculate the cube root of calling object elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Integer | start index |
| 2 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun.
Overload 2: function Cbrt(const X: TMtxVec): TMtxVec;
Calculate the cube root of all X object elements and store the results in calling object.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec |
Result: stored in self (calling object), returns self for chaining
Size and Vector.Complex properties of calling object are adjusted automatically.
var
a, x, expected: Vector;
begin
x := [1.0, 8.0, 27.0, 64.0];
a.Cbrt(x);
expected := [1.0, 2.0, 3.0, 4.0];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Vector.Cbrt: mismatch');
end;
Indexed: function Cbrt(const X: TMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Calculate the cube root of X object elements [XIndex]..[XIndex+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | |
| 2 | XIndex | Integer | X start index |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and Vector.Complex properties of the calling object must be set explicitly. An exception is raised if array borders are overrun.