79#ifdef USEREFICCMAXNAMESPACE
85#define icPiNum 3.14159265358979323846
86#define icPosInfinity (std::numeric_limits<icFloatNumber>::infinity())
87#define icNegInfinity (-std::numeric_limits<icFloatNumber>::infinity())
88#define icNotANumber (std::numeric_limits<icFloatNumber>::quiet_NaN())
89#define icNotZero(v) ((v)>1.0e-8 || (v)<-1.0e-8)
99 int nIndex,
int nColors,
const icChar *szUnknown);
188#define icUtf8StrCmp(x, y) strcmp((const char*)x, (const char*)y)
209#ifdef ICC_BYTE_ORDER_LITTLE_ENDIAN
215 tmp = ptr[0]; ptr[0] = ptr[1]; ptr[1] = tmp;
224 tmp = ptr[0]; ptr[0] = ptr[1]; ptr[1] = tmp;
235 tmp = ptr[0]; ptr[0] = ptr[3]; ptr[3] = tmp;
236 tmp = ptr[1]; ptr[1] = ptr[2]; ptr[2] = tmp;
245 tmp = ptr[0]; ptr[0] = ptr[3]; ptr[3] = tmp;
246 tmp = ptr[1]; ptr[1] = ptr[2]; ptr[2] = tmp;
258 tmp = ptr[0]; ptr[0] = ptr[7]; ptr[7] = tmp;
259 tmp = ptr[1]; ptr[1] = ptr[6]; ptr[6] = tmp;
260 tmp = ptr[2]; ptr[2] = ptr[5]; ptr[5] = tmp;
261 tmp = ptr[3]; ptr[3] = ptr[4]; ptr[4] = tmp;
270 tmp = ptr[0]; ptr[0] = ptr[7]; ptr[7] = tmp;
271 tmp = ptr[1]; ptr[1] = ptr[6]; ptr[6] = tmp;
272 tmp = ptr[2]; ptr[2] = ptr[5]; ptr[5] = tmp;
273 tmp = ptr[3]; ptr[3] = ptr[4]; ptr[4] = tmp;
280#define icSwab16Ptr(flt)
281#define icSwab16Array(flt, n)
282#define icSwab32Ptr(flt)
283#define icSwab32Array(flt, n)
284#define icSwab64Ptr(flt)
285#define icSwab64Array(flt, n)
288#define icSwab16(flt) icSwab16Ptr(&flt)
289#define icSwab32(flt) icSwab32Ptr(&flt)
290#define icSwab64(flt) icSwab64Ptr(&flt)
331 std::string GetSigPathName(std::string sigPath);
346 bool IsProfileIDCalculated(
icProfileID *profileID);
373#define icDefaultPixelBufSize 100
383 operator void *() {
return m_pixel; }
414#ifdef USEREFICCMAXNAMESPACE
icFloatNumber icD50XYZ[3]
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
icUInt16Number icU1Fixed15Number
icUInt16Number icU8Fixed8Number
icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Name: icMaxStatus.
std::string icGetSigPath(icUInt32Number nSig)
icU1Fixed15Number icDtoUSF(icFloatNumber num)
const icChar * icGetColorSig(icChar *pBuf, icUInt32Number nSig, bool bGetHexVal)
icFloatNumber icU8toAB(icUInt8Number num)
icFloatNumber icD50XYZxx[3]
const char * icMsgValidateWarning
icFloatNumber icU16toF(icUInt16Number num)
icUInt8Number icABtoU8(icFloatNumber num)
void icXyzToPcs(icFloatNumber *XYZ)
icFloatNumber icUCFtoD(icU8Fixed8Number num)
icFloatNumber icCubeth(icFloatNumber v)
bool icValidTagPos(const icPositionNumber &pos, icUInt32Number nTagHeaderSize, icUInt32Number nTagSize, bool bAllowEmpty)
Name: icValidTagPos.
icU16Fixed16Number icDtoUF(icFloatNumber num)
void icXyzFromPcs(icFloatNumber *XYZ)
Floating point encoding of XYZ in PCS is in range 0.0 to 1.0 (Note: X=1.0 is encoded as about 0....
bool icSameSpectralRange(const icSpectralRange &rng1, const icSpectralRange &rng2)
void icMatrixMultiply3x3(icFloatNumber *result, const icFloatNumber *l, const icFloatNumber *r)
Name: icMatrixMultiply3x3.
bool icMatrixInvert3x3(icFloatNumber *M)
Name: icMatrixInvert3x3.
icFloatNumber icUFtoD(icU16Fixed16Number num)
void icVectorApplyMatrix3x3(icFloatNumber *result, const icFloatNumber *m, const icFloatNumber *v)
Name: icVectorApplyMatrix3x3.
icUInt32Number icGetSpaceSamples(icColorSpaceSignature sig)
bool icIsIllumD50(icXYZNumber xyz)
void icLch2Lab(icFloatNumber *Lab, icFloatNumber *Lch)
void icMatrixDump(std::string &sDump, icS15Fixed16Number *pMatrix)
icSignature icGetLastSigPathSig(std::string sigPath)
bool icIsNear(icFloatNumber v1, icFloatNumber v2, icFloatNumber nearRange)
Name: icIsNear.
void * icRealloc(void *ptr, size_t size)
Name: icRealloc.
icFloatNumber icFtoD(icS15Fixed16Number num)
const icChar * icGetColorSigStr(icChar *pBuf, icUInt32Number nSig)
icFloatNumber icICubeth(icFloatNumber v)
icFloatNumber icU8toF(icUInt8Number num)
icUInt32Number icGetSpectralSpaceSamples(const icHeader *pHdr)
void icLabFromPcs(icFloatNumber *Lab)
Floating point encoding of Lab in PCS is in range 0.0 to 1.0.
icFloatNumber icMin(icFloatNumber v1, icFloatNumber v2)
icSignature icGetSecondSigPathSig(std::string sigPath)
icUInt8Number icFtoU8(icFloatNumber num)
const char * icMsgValidateInformation
void icLabToPcs(icFloatNumber *Lab)
icFloatNumber icRmsDif(const icFloatNumber *v1, const icFloatNumber *v2, icUInt32Number nSample)
void icColorValue(icChar *szValue, icFloatNumber nValue, icColorSpaceSignature csSig, int nIndex, bool bUseLegacy)
icUInt32Number icGetMaterialColorSpaceSamples(icMaterialColorSignature sig)
void icLabtoXYZ(icFloatNumber *XYZ, const icFloatNumber *Lab, const icFloatNumber *WhiteXYZ)
double icRoundOffset(double v)
Name: icRoundOffset.
icFloat16Number icFtoF16(icFloat32Number num)
bool icIsSpaceCLR(icColorSpaceSignature sig)
icS15Fixed16Number icDtoF(icFloatNumber num)
void icMemDump(std::string &sDump, void *pBuf, icUInt32Number nNum)
icUInt32Number icIntMax(icUInt32Number v1, icUInt32Number v2)
icFloatNumber icDeltaE(const icFloatNumber *lab1, const icFloatNumber *lab2)
const char * icMsgValidateNonCompliant
icUInt16Number icFtoU16(icFloatNumber num)
icFloatNumber icUSFtoD(icU1Fixed15Number num)
icFloatNumber icMax(icFloatNumber v1, icFloatNumber v2)
icUInt32Number icIntMin(icUInt32Number v1, icUInt32Number v2)
icUInt8Number icGetStorageTypeBytes(icUInt16Number nStorageType)
void icLab2Lch(icFloatNumber *Lch, icFloatNumber *Lab)
void icColorIndexName(icChar *szName, icColorSpaceSignature csSig, int nIndex, int nColors, const icChar *szUnknown)
const char * icMsgValidateCriticalError
icUInt32Number icGetSigVal(const icChar *pBuf)
const icChar * icGet16bitSig(icChar *pBuf, icUInt16Number nSig, bool bGetHexVal)
bool icValidOverlap(const icPositionNumber &pos1, const icPositionNumber &pos2, bool bAllowSame)
Name: icValidOverlap.
void icXYZtoLab(icFloatNumber *Lab, const icFloatNumber *XYZ, const icFloatNumber *WhiteXYZ)
icFloatNumber icF16toF(icFloat16Number num)
const icChar * icGetSigStr(icChar *pBuf, icUInt32Number nSig)
icSignature icGetFirstSigPathSig(std::string sigPath)
const icChar * icGetSig(icChar *pBuf, icUInt32Number nSig, bool bGetHexVal)
icU8Fixed8Number icDtoUCF(icFloatNumber num)
void icSwab64Ptr(void *pVoid)
void icSwab16Ptr(void *pVoid)
void icSwab16Array(void *pVoid, int num)
void icNormXYZ(icFloatNumber *XYZ, icFloatNumber *WhiteXYZ=NULL)
#define icDefaultPixelBufSize
Type: Class.
void icDeNormXYZ(icFloatNumber *XYZ, icFloatNumber *WhiteXYZ=NULL)
void icSwab32Ptr(void *pVoid)
void icSwab64Array(void *pVoid, int num)
void icSwab32Array(void *pVoid, int num)
unsigned int icUInt32Number
icFloatNumber & operator[](int nPos)
virtual bool GetEnvVar(icSigCmmEnvVar sig, icFloatNumber &val)=0
virtual ~IIccCmmEnvVarLookup()
virtual bool IndexedEnvVar(icUInt32Number nIndex, icSigCmmEnvVar &sig, icFloatNumber &val)=0
The base date time number.