function Rotate(const Src: TOpenCLMtxVec; Offset: Integer): TOpenCLVector;
A cyclic shift on vector elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TOpenCLMtxVec | |
| 2 | Offset | Integer |
Returns: TOpenCLVector
Remarks:
Performs cyclic shift on vector elements. The number of elements to shift is specified in the Offset parameter. Offset can be any integer number, positive or negative.
Examples
var a: TOpenCLVector;
begin
CreateIt(a);
try
a.CopyFromArray(TSingleArray.Create(1,2,3,4));
b.Rotate(a, 2); // b = [3,4,1,2]
finally
FreeIt(a);
end;
end;
See Also: TOpenCLVector.Reverse, TOpenCLVector.Shift
Indexed: function Rotate(const Vec: TOpenCLMtxVec; Offset: Integer; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;
A cyclic shift on vector elements in range.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TOpenCLMtxVec | source TOpenCLVector or TOpenCLMatrix |
| 2 | Offset | Integer | |
| 3 | VecIndex | Integer | |
| 4 | Index | Integer | start index |
| 5 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Remarks:
Performs cyclic shift on source vector elements in specified range [Index..Index+Len] and stores them to calling vector. The number of elements to shift is specified in the Offset parameter. Offset can be any integer number, positive or negative.