IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
CIccOpDefFromLab Class Reference
+ Inheritance diagram for CIccOpDefFromLab:
+ Collaboration diagram for CIccOpDefFromLab:

Public Member Functions

virtual int ArgsPushed (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 
virtual int ArgsUsed (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 
virtual void Describe (SIccCalcOp &op, std::string &desc, int nVerboseness)
 
virtual bool Exec (SIccCalcOp *op, SIccOpState &os)
 
virtual bool IsValid (CIccMpeCalculator *pCalc, SIccCalcOp &op)
 

Detailed Description

Member Function Documentation

◆ ArgsPushed()

virtual int IIccOpDef::ArgsPushed ( CIccMpeCalculator pCalc,
SIccCalcOp op 
)
inlinevirtualinherited
297{ return op.ArgsPushed(pCalc);}
icUInt16Number ArgsPushed(CIccMpeCalculator *pCalc)
Definition IccMpeCalc.cpp:2354

References SIccCalcOp::ArgsPushed().

+ Here is the call graph for this function:

◆ ArgsUsed()

virtual int IIccOpDef::ArgsUsed ( CIccMpeCalculator pCalc,
SIccCalcOp op 
)
inlinevirtualinherited
298{ return op.ArgsUsed(pCalc);}
icUInt16Number ArgsUsed(CIccMpeCalculator *pCalc)
Definition IccMpeCalc.cpp:2222

References SIccCalcOp::ArgsUsed().

+ Here is the call graph for this function:

◆ Describe()

virtual void IIccOpDef::Describe ( SIccCalcOp op,
std::string &  desc,
int  nVerboseness 
)
inlinevirtualinherited
300{op.Describe(desc, nVerboseness);}
void Describe(std::string &desc, int nVerboseness=100)
Definition IccMpeCalc.cpp:1787

References SIccCalcOp::Describe().

+ Here is the call graph for this function:

◆ Exec()

virtual bool CIccOpDefFromLab::Exec ( SIccCalcOp op,
SIccOpState os 
)
inlinevirtual

Reimplemented from IIccOpDef.

1751 {
1752 int j, n = op->data.select.v1+1;
1753 int n2 = n+n;
1754 int tn = n*3;
1755 icFloatNumber a1, a2, a3;
1756 size_t ss = os.pStack->size();
1757 if (tn>(int)ss)
1758 return false;
1759 icFloatNumber fy, *s = &(*os.pStack)[ss-tn];
1760 for (j=0; j<n; j++) {
1761 a1 = s[j];
1762 a2 = s[j+n];
1763 a3 = s[j+n2];
1764
1765 fy = (icFloatNumber)((a1 + 16.0f) / 116.0f);
1766
1767 s[j] = icICubeth((icFloatNumber)(a2/500.0 + fy));
1768 s[j+n] = icICubeth(fy);
1769 s[j+n2] = icICubeth((icFloatNumber)(fy - a3/200.0));
1770 }
1771 return true;
1772 }
CIccFloatVector * pStack
Definition IccMpeCalc.h:275
float icFloatNumber
Definition IccDefs.h:101
ICCPROFLIB_API icFloatNumber icICubeth(icFloatNumber v)
Definition IccUtil.cpp:815
union SIccCalcOp::@1 data

References icICubeth(), and SIccOpState::pStack.

+ Here is the call graph for this function:

◆ IsValid()

virtual bool IIccOpDef::IsValid ( CIccMpeCalculator pCalc,
SIccCalcOp op 
)
inlinevirtualinherited

Reimplemented in CIccOpDefInvalid.

302{ return op.IsValidOp(pCalc); }
static bool IsValidOp(icSigCalcOp sig)
Definition IccMpeCalc.cpp:2073

References SIccCalcOp::IsValidOp().

+ Here is the call graph for this function:

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