#ifndef TESTCMS2_H
#define TESTCMS2_H
#ifdef _MSC_VER
# define _CRT_SECURE_NO_WARNINGS 1
# include "crtdbg.h"
# include <io.h>
#endif
#include "lcms2_internal.h"
#define cmsmin(a, b) (((a) < (b)) ? (a) : (b))
void DebugMemDontCheckThis(void *Ptr);
cmsBool IsGoodVal(const char *title, cmsFloat64Number in, cmsFloat64Number out, cmsFloat64Number max);
cmsBool IsGoodFixed15_16(const char *title, cmsFloat64Number in, cmsFloat64Number out);
cmsBool IsGoodFixed8_8(const char *title, cmsFloat64Number in, cmsFloat64Number out);
cmsBool IsGoodWord(const char *title, cmsUInt16Number in, cmsUInt16Number out);
cmsBool IsGoodWordPrec(const char *title, cmsUInt16Number in, cmsUInt16Number out, cmsUInt16Number maxErr);
void* PluginMemHandler(void);
cmsContext WatchDogContext(void* usr);
void ResetFatalError(void);
void Die(const char* Reason, ...);
void Dot(void);
void Fail(const char* frm, ...);
void SubTest(const char* frm, ...);
void TestMemoryLeaks(cmsBool ok);
void Say(const char* str);
cmsInt32Number CheckSimpleContext(void);
cmsInt32Number CheckAllocContext(void);
cmsInt32Number CheckAlarmColorsContext(void);
cmsInt32Number CheckAdaptationStateContext(void);
cmsInt32Number CheckInterp1DPlugin(void);
cmsInt32Number CheckInterp3DPlugin(void);
cmsInt32Number CheckParametricCurvePlugin(void);
cmsInt32Number CheckFormattersPlugin(void);
cmsInt32Number CheckTagTypePlugin(void);
cmsInt32Number CheckMPEPlugin(void);
cmsInt32Number CheckOptimizationPlugin(void);
cmsInt32Number CheckIntentPlugin(void);
cmsInt32Number CheckTransformPlugin(void);
cmsInt32Number CheckMutexPlugin(void);
cmsInt32Number CheckOptimizationPluginLeak(void);
void CheckProfileZOO(void);
#endif