Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccOpDefRotateRight Class Reference
+ Inheritance diagram for CIccOpDefRotateRight:
+ Collaboration diagram for CIccOpDefRotateRight:

Public Member Functions

virtual bool Exec (SIccCalcOp *op, SIccOpState &os)
 
- Public Member Functions inherited from IIccOpDef
virtual int ArgsPushed (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 
virtual int ArgsUsed (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 
virtual void Describe (SIccCalcOp &op, std::string &desc, int nVerboseness)
 
 IIccOpDef ()
 
virtual bool IsValid (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 
virtual ~IIccOpDef ()
 

Detailed Description

Definition at line 486 of file IccMpeCalc.cpp.

Member Function Documentation

◆ Exec()

virtual bool CIccOpDefRotateRight::Exec ( SIccCalcOp * op,
SIccOpState & os )
inlinevirtual

Reimplemented from IIccOpDef.

Definition at line 489 of file IccMpeCalc.cpp.

490 {
491 int nCopy = op->data.select.v1+1;
492 int nPos = (op->data.select.v2+1)%nCopy;
493
494 if (nCopy) {
495 int next = nCopy - nPos;
496 if (os.pScratch->size()<(size_t)nCopy)
497 os.pScratch->resize(nCopy);
498
499 icFloatNumber *copyList = &(*os.pScratch)[0];
500
501 OsPopArgs(copyList, nCopy);
502
503 int j;
504 for (j=0; j<nCopy; j++) {
505 OsPushArg(copyList[(j+next)%nCopy]);
506 }
507 }
508 return true;
509 }
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
#define OsPopArgs(X, N)
#define OsPushArg(X)
icUInt16Number v2
Definition IccMpeCalc.h:242
icUInt16Number v1
Definition IccMpeCalc.h:243
struct SIccCalcOp::@1::@2 select
union SIccCalcOp::@1 data
CIccFloatVector * pScratch
Definition IccMpeCalc.h:276

References SIccCalcOp::data, OsPopArgs, OsPushArg, SIccOpState::pScratch, SIccCalcOp::select, SIccCalcOp::v1, and SIccCalcOp::v2.


The documentation for this class was generated from the following file: