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

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

Member Function Documentation

◆ Exec()

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

Reimplemented from IIccOpDef.

Definition at line 1593 of file IccMpeCalc.cpp.

1594 {
1595 int j, n = op->data.select.v1 + 1;
1596 icFloatNumber a1, a2;
1597 int tn = n * 2;
1598 size_t ss = os.pStack->size();
1599 if (tn > (int)ss)
1600 return false;
1602 icFloatNumber *s = &(*os.pStack)[ss - tn];
1603 for (j = 0; j < n; j++) {
1604 a1 = s[j];
1605 a2 = s[j + n];
1606 s[j] = (a1 == a2 ?
1607 (icFloatNumber)0.0 :
1608 ((!memcmp(&a1, &nan, sizeof(icFloatNumber)) && !memcmp(&a1, &a2, sizeof(a1))) ?
1609 (icFloatNumber)0.0 :
1610 (icFloatNumber)1.0));
1611 }
1612 OsShrinkArgs(n);
1613 return true;
1614 }
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
#define OsShrinkArgs(N)
#define icNotANumber
Definition IccUtil.h:88
icUInt16Number v1
Definition IccMpeCalc.h:243
struct SIccCalcOp::@1::@2 select
union SIccCalcOp::@1 data
CIccFloatVector * pStack
Definition IccMpeCalc.h:275

References SIccCalcOp::data, icNotANumber, OsShrinkArgs, SIccOpState::pStack, SIccCalcOp::select, and SIccCalcOp::v1.


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