Vector::Rotate Method

Overload List

#SignatureDescription
1TMtxVec *Rotate(int Offset, int Index, int Len = MtxVecEOA) const;A cyclic shift on vector elements in range.
2TMtxVec *Rotate(TMtxVec *Vec, int Offset, int VecIndex, int Index, int Len = MtxVecEOA) const;A cyclic shift on vector elements in range.
3TVec *Rotate(int Offset) const;A cyclic shift on vector elements.
4TVec *Rotate(TMtxVec *Src, int Offset) const;Applies cyclic shift on Src vector elements and stores the result in Self.

Overload 1: TMtxVec *Rotate(int Offset, int Index, int Len = MtxVecEOA) const;

A cyclic shift on vector elements in range.

#NameTypeDescription
1Offsetint
2Indexint
3Len = MtxVecEOAint
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.

Examples
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a;

    a = {1, 2, 3, 4};
    a.Rotate(2); // a = [3,4,1,2]
}
See Also: Vector::Reverse, Vector::Shift
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 2: TMtxVec *Rotate(TMtxVec *Vec, int Offset, int VecIndex, int Index, int Len = MtxVecEOA) const;

A cyclic shift on vector elements in range.

#NameTypeDescription
1VecTMtxVec *
2Offsetint
3VecIndexint
4Indexint
5Len = MtxVecEOAint
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
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 3: TVec *Rotate(int Offset) const;

A cyclic shift on vector elements.

#NameTypeDescription
1Offsetint
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
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a;

    a.SetIt(false, DewArray<double>{1, 2, 3, 4});
    a.Rotate(2); // a = [3,4,1,2]
}
See Also: Vector::Reverse, Vector::Shift
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 4: TVec *Rotate(TMtxVec *Src, int Offset) const;

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

#NameTypeDescription
1SrcTMtxVec *
2Offsetint
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler