IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
IccMpeCalc.cpp File Reference
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "IccMpeBasic.h"
#include "IccMpeCalc.h"
#include "IccIO.h"
#include <map>
#include "IccUtil.h"
+ Include dependency graph for IccMpeCalc.cpp:

Go to the source code of this file.

Data Structures

class  CIccCalcOpMgr
 
class  CIccConsoleDebugger
 
class  CIccOpDefAbsoluteVal
 
class  CIccOpDefAdd
 
class  CIccOpDefAnd
 
class  CIccOpDefArcCosine
 
class  CIccOpDefArcSine
 
class  CIccOpDefArcTan2
 
class  CIccOpDefArcTangent
 
class  CIccOpDefCartesianToPolar
 
class  CIccOpDefCeiling
 
class  CIccOpDefCopy
 
class  CIccOpDefCosine
 
class  CIccOpDefCube
 
class  CIccOpDefCubeRoot
 
class  CIccOpDefData
 
class  CIccOpDefDivide
 
class  CIccOpDefEnvVar
 
class  CIccOpDefEqual
 
class  CIccOpDefExp
 
class  CIccOpDefFlip
 
class  CIccOpDefFloor
 
class  CIccOpDefFromLab
 
class  CIccOpDefGamma
 
class  CIccOpDefGreaterThan
 
class  CIccOpDefGreaterThanEqual
 
class  CIccOpDefInputChan
 
class  CIccOpDefInvalid
 
class  CIccOpDefLessThan
 
class  CIccOpDefLessThanEqual
 
class  CIccOpDefLogrithm
 
class  CIccOpDefMaximum
 
class  CIccOpDefMinimum
 
class  CIccOpDefModulus
 
class  CIccOpDefMultiply
 
class  CIccOpDefNaturalLog
 
class  CIccOpDefNear
 
class  CIccOpDefNeg
 
class  CIccOpDefNegInfinity
 
class  CIccOpDefNot
 
class  CIccOpDefNotANumber
 
class  CIccOpDefNotEqual
 
class  CIccOpDefOr
 
class  CIccOpDefOutputChan
 
class  CIccOpDefPi
 
class  CIccOpDefPolarToCartesian
 
class  CIccOpDefPop
 
class  CIccOpDefPosInfinity
 
class  CIccOpDefPositionDup
 
class  CIccOpDefPow
 
class  CIccOpDefProduct
 
class  CIccOpDefRealNumber
 
class  CIccOpDefRotateLeft
 
class  CIccOpDefRotateRight
 
class  CIccOpDefRound
 
class  CIccOpDefScalarAdd
 
class  CIccOpDefScalarDivide
 
class  CIccOpDefScalarMultiply
 
class  CIccOpDefScalarSubtract
 
class  CIccOpDefSign
 
class  CIccOpDefSine
 
class  CIccOpDefSolve
 
class  CIccOpDefSquare
 
class  CIccOpDefSquareRoot
 
class  CIccOpDefSubElement
 
class  CIccOpDefSubtract
 
class  CIccOpDefSum
 
class  CIccOpDefTangent
 
class  CIccOpDefTempGetChan
 
class  CIccOpDefTempPutChan
 
class  CIccOpDefTempSaveChan
 
class  CIccOpDefToLab
 
class  CIccOpDefTranspose
 
class  CIccOpDefTruncate
 
class  CIccOpDefVectorAnd
 
class  CIccOpDefVectorMaximum
 
class  CIccOpDefVectorMinimum
 
class  CIccOpDefVectorOr
 

Macros

#define OsExtendArgs(N)
 
#define OsPopArg(X)
 
#define OsPopArgs(X, N)
 
#define OsPushArg(X)
 
#define OsPushArgs(X, N)
 
#define OsShrinkArgs(N)
 

Typedefs

typedef std::map< icSigCalcOp, IIccOpDef * > icCalcOpMap
 
typedef std::map< icUInt32Number, CIccCalculatorFunc * > icChannelFuncOffsetMap
 
typedef std::map< CIccCalculatorFunc *, icPositionNumbericChannelFuncPtrMap
 

Functions

static void AppendOpList (CIccCalcOpList &toList, const CIccCalcOpList &fromList)
 

Variables

static CIccConsoleDebugger g_ConsoleDebugger
 
static IIccCalcDebuggerg_pDebugger = icCalcDebuggerNone
 

Detailed Description

File: IccMpeCalc.cpp

Contains: Implementation of Calculator Element

Version: V1

Copyright: (c) see ICC Software License

Definition in file IccMpeCalc.cpp.

Macro Definition Documentation

◆ OsExtendArgs

#define OsExtendArgs (   N)
Value:
{ \
size_t ss = os.pStack->size(); \
os.pStack->resize(ss+(N)); \
}
204 { \
205 size_t ss = os.pStack->size(); \
206 os.pStack->resize(ss+(N)); \
207}

◆ OsPopArg

#define OsPopArg (   X)
Value:
{ \
if (!os.pStack->size()) \
return false; \
X = *(os.pStack->rbegin()); \
os.pStack->pop_back(); \
}
165 { \
166 if (!os.pStack->size()) \
167 return false; \
168 X = *(os.pStack->rbegin()); \
169 os.pStack->pop_back(); \
170}

◆ OsPopArgs

#define OsPopArgs (   X,
 
)
Value:
{ \
icUInt32Number nv=(N); \
size_t ss = os.pStack->size(); \
if (nv>ss) \
return false; \
icFloatNumber *sv = &(*os.pStack)[ss-nv]; \
memcpy((X), sv, nv*sizeof(icFloatNumber)); \
os.pStack->resize(ss-nv); \
}
unsigned long icUInt32Number
Definition icProfileHeader.h:262
float icFloatNumber
Definition IccDefs.h:101
172 { \
173 icUInt32Number nv=(N); \
174 size_t ss = os.pStack->size(); \
175 if (nv>ss) \
176 return false; \
177 icFloatNumber *sv = &(*os.pStack)[ss-nv]; \
178 memcpy((X), sv, nv*sizeof(icFloatNumber)); \
179 os.pStack->resize(ss-nv); \
180}

◆ OsPushArg

#define OsPushArg (   X)
Value:
{ \
icFloatNumber V = (X); \
os.pStack->push_back(V); \
}
183 { \
184 icFloatNumber V = (X); \
185 os.pStack->push_back(V); \
186}

◆ OsPushArgs

#define OsPushArgs (   X,
 
)
Value:
{ \
size_t ss = os.pStack->size(); \
icUInt32Number nv=(N); \
os.pStack->resize(ss+nv); \
icFloatNumber *sv = &(*os.pStack)[ss]; \
memcpy(sv, (X), nv*sizeof(icFloatNumber)); \
}
188 { \
189 size_t ss = os.pStack->size(); \
190 icUInt32Number nv=(N); \
191 os.pStack->resize(ss+nv); \
192 icFloatNumber *sv = &(*os.pStack)[ss]; \
193 memcpy(sv, (X), nv*sizeof(icFloatNumber)); \
194}

◆ OsShrinkArgs

#define OsShrinkArgs (   N)
Value:
{ \
icUInt32Number nv = (N); \
size_t ss = os.pStack->size(); \
if (nv>ss) \
return false; \
os.pStack->resize(ss-nv); \
}
196 { \
197 icUInt32Number nv = (N); \
198 size_t ss = os.pStack->size(); \
199 if (nv>ss) \
200 return false; \
201 os.pStack->resize(ss-nv); \
202}

Typedef Documentation

◆ icCalcOpMap

typedef std::map<icSigCalcOp, IIccOpDef*> icCalcOpMap

◆ icChannelFuncOffsetMap

◆ icChannelFuncPtrMap

Function Documentation

◆ AppendOpList()

static void AppendOpList ( CIccCalcOpList toList,
const CIccCalcOpList fromList 
)
static
2967{
2968 CIccCalcOpList::const_iterator o;
2969
2970 for (o=fromList.begin(); o!=fromList.end(); o++) {
2971 toList.push_back(*o);
2972 }
2973}

Referenced by CIccCalculatorFunc::ParseFuncDef().

+ Here is the caller graph for this function:

Variable Documentation

◆ g_ConsoleDebugger

CIccConsoleDebugger g_ConsoleDebugger
static

◆ g_pDebugger