Vector.Rotate Method

Overload List

#SignatureDescription
1function Rotate(const Src: TMtxVec; Offset: Integer): TVec;Applies cyclic shift on Src vector elements and stores the result in Self.
└ indexed: function Rotate(const Vec: TMtxVec; Offset: Integer; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
2function Rotate(Offset: Integer): TVec;A cyclic shift on vector elements.
└ indexed: function Rotate(Offset: Integer; Index: Integer; Len: Integer): TMtxVec;

Overload 1: function Rotate(const Src: TMtxVec; Offset: Integer): TVec;

Applies cyclic shift on Src vector elements and stores the result in Self.

#NameTypeDescription
1SrcTMtxVec
2OffsetInteger

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

Indexed: function Rotate(const Vec: TMtxVec; Offset: Integer; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

A cyclic shift on vector elements in range.

#NameTypeDescription
1VecTMtxVec
2OffsetInteger
3VecIndexInteger
4IndexIntegerstart index
5LenIntegerelement 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.

See Also: Vector.Reverse, Vector.Shift

Overload 2: function Rotate(Offset: Integer): TVec;

A cyclic shift on vector elements.

#NameTypeDescription
1OffsetInteger

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

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: Vector;
begin
    a.SetIt(False,[1,2,3,4]);
    a.Rotate(2);   // a = [3,4,1,2]
end;
See Also: Vector.Reverse, Vector.Shift

Indexed: function Rotate(Offset: Integer; Index: Integer; Len: Integer): TMtxVec;

A cyclic shift on vector elements in range.

#NameTypeDescription
1OffsetInteger
2IndexIntegerstart index
3LenIntegerelement count

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

Remarks:

Performs cyclic shift on vector elements in specified range [Index..Index+Len]. The number of elements to shift is specified in the Offset parameter.

Offset can be any integer number, positive or negative.

See Also: Vector.Reverse, Vector.Shift