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

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

Member Function Documentation

◆ Exec()

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

Reimplemented from IIccOpDef.

Definition at line 515 of file IccMpeCalc.cpp.

516 {
517 size_t ss = os.pStack->size();
518 int r=op->data.select.v1+1;
519 int c=op->data.select.v2+1;
520 int nSize = r*c;
521
522 if (nSize>(int)ss)
523 return false;
524
525 if (r>1 && c>1) {
526 int j, k;
527
528 if (os.pScratch->size()<(size_t)nSize)
529 os.pScratch->resize(nSize);
530
531 icFloatNumber *ptrStack = &(*os.pStack)[ss-nSize];
532 icFloatNumber *ptrScratch = &(*os.pScratch)[0];
533 icFloatNumber *start = ptrStack;
534 icFloatNumber *to = ptrScratch;
535
536 for (k=0; k<c; k++) {
537 icFloatNumber *from = start;
538 for (j=0; j<r; j++) {
539 *to++ = *from;
540 from += c;
541 }
542 start++;
543 }
544 memcpy(ptrStack, ptrScratch, nSize*sizeof(icFloatNumber));
545 }
546 return true;
547 }
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
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
CIccFloatVector * pStack
Definition IccMpeCalc.h:275

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


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