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

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 460 of file IccMpeCalc.cpp.

Member Function Documentation

◆ Exec()

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

Reimplemented from IIccOpDef.

Definition at line 463 of file IccMpeCalc.cpp.

464 {
465 int nCopy = op->data.select.v1+1;
466 int nPos = op->data.select.v2+1;
467
468 if (nCopy) {
469 int next = nPos;
470 if (os.pScratch->size()<(size_t)nCopy)
471 os.pScratch->resize(nCopy);
472
473 icFloatNumber *copyList = &(*os.pScratch)[0];
474
475 OsPopArgs(copyList, nCopy);
476
477 int j;
478 for (j=0; j<nCopy; j++) {
479 OsPushArg(copyList[(j+next)%nCopy]);
480 }
481 }
482 return true;
483 }
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: