clVector::FixAngle Method

Overload List

#SignatureDescription
1TOpenCLMtxVec *FixAngle() const;Sets angle in [-2PI,2PI].
2TOpenCLMtxVec *FixAngle(int Index, int Len) const;FixAngle for calling object complex elements [Index]..[Index+Len-1] in-place.
3TOpenCLMtxVec *FixAngle(TOpenCLMtxVec *Src) const;Sets angle in [-2PI,2PI] for all Src elements.
4TOpenCLMtxVec *FixAngle(TOpenCLMtxVec *Src, int SrcIndex, int Index, int Len) const;Sets angle in [-2PI,2PI] for Src elements [SrcIndex]..[SrcIndex+Len-1] and store the results in the calling object elements [Index]..[Index+Len-1].

Overload 1: TOpenCLMtxVec *FixAngle() const;

Sets angle in [-2PI,2PI].

Returns: ThetaRad within -2Math387::PI and Math387::PI interval.

Remarks:

Calling this function prior to passing the value to trigonometric functions can significantly improve numerical accuracy.

Sine/cosine appear within many other functions especially complex versions of trigonometric functions. FixAngle method is not used implicitely within TOpenCLMtxVec methods. To achieve maximum performance make sure that the arguments passed to complex trigonometric functions are "small" or scaled down.

Note
The vector must be real.

Declared in Dew::Math::clVector · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 2: TOpenCLMtxVec *FixAngle(int Index, int Len) const;

FixAngle for calling object complex elements [Index]..[Index+Len-1] in-place.

#NameTypeDescription
1Indexint
2Lenint
Remarks:

An exception is raised if calling object clVector::Complex property is True or if array borders are overrun/underrun.

Declared in Dew::Math::clVector · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 3: TOpenCLMtxVec *FixAngle(TOpenCLMtxVec *Src) const;

Sets angle in [-2PI,2PI] for all Src elements.

#NameTypeDescription
1SrcTOpenCLMtxVec *
Remarks:

Stores the results in the calling object. Size and clVector::Complex properties of the calling vector are set implicitly to match the Src object.

Declared in Dew::Math::clVector · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 4: TOpenCLMtxVec *FixAngle(TOpenCLMtxVec *Src, int SrcIndex, int Index, int Len) const;

Sets angle in [-2PI,2PI] for Src elements [SrcIndex]..[SrcIndex+Len-1] and store the results in the calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1SrcTOpenCLMtxVec *
2SrcIndexint
3Indexint
4Lenint
Remarks:

Size and clVector::Complex properties of the calling object must be set explicitly. An exception is raised if array borders are overrun.

Declared in Dew::Math::clVector · Dew.Math/clMtxExpr.h · Cross-compiler