<commit_before>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 *	Contains custom types.
 *	\file		IceTypes.h
 *	\author		<NAME>
 *	\date		April, 4, 2000
 */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Include Guard
#ifndef __ICETYPES_H__
#define __ICETYPES_H__

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Things to help us compile on non-windows platforms

#if defined(__MACOSX__) || defined(__APPLE__)
#undef bool
#define bool char
#undef true
#define true ((bool)-1)
#undef false
#define false ((bool)0)
#endif // mac stuff

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	#define USE_HANDLE_MANAGER

	// Constants
	#define	PI					3.1415926535897932384626433832795028841971693993751f	//!< PI
	#define	HALFPI				1.57079632679489661923f									//!< 0.5 * PI
	#define	TWOPI				6.28318530717958647692f									//!< 2.0 * PI
	#define	INVPI				0.31830988618379067154f									//!< 1.0 / PI

	#define	RADTODEG			57.2957795130823208768f									//!< 180.0 / PI, convert radians to degrees
	#define	DEGTORAD			0.01745329251994329577f									//!< PI / 180.0, convert degrees to radians

	#define	EXP					2.71828182845904523536f									//!< e
	#define	INVLOG2				3.32192809488736234787f									//!< 1.0 / log10(2)
	#define	LN2					0.693147180559945f										//!< ln(2)
	#define	INVLN2				1.44269504089f											//!< 1.0f / ln(2)

	#define	INV3				0.33333333333333333333f									//!< 1/3
	#define	INV6				0.16666666666666666666f									//!< 1/6
	#define	INV7				0.14285714285714285714f									//!< 1/7
	#define	INV9				0.11111111111111111111f									//!< 1/9
	#define	INV255				0.00392156862745098039f									//!< 1/255

	#define	SQRT2				1.41421356237f											//!< sqrt(2)
	#define	INVSQRT2			0.707106781188f											//!< 1 / sqrt(2)

	#define	SQRT3				1.73205080757f											//!< sqrt(3)
	#define	INVSQRT3			0.577350269189f											//!< 1 / sqrt(3)

	#define null				0														//!< our own NULL pointer

	// Custom types used in ICE
	typedef signed char			sbyte;		//!< sizeof(sbyte)	must be 1
	typedef unsigned char		ubyte;		//!< sizeof(ubyte)	must be 1
	typedef signed short		sword;		//!< sizeof(sword)	must be 2
	typedef unsigned short		uword;		//!< sizeof(uword)	must be 2
	typedef signed int			sdword;		//!< sizeof(sdword)	must be 4
	typedef unsigned int		udword;		//!< sizeof(udword)	must be 4
	typedef signed __int64		sqword;		//!< sizeof(sqword)	must be 8
	typedef unsigned __int64	uqword;		//!< sizeof(uqword)	must be 8
	typedef float				float32;	//!< sizeof(float32)	must be 4
	typedef double				float64;	//!< sizeof(float64)	must be 4

	ICE_COMPILE_TIME_ASSERT(sizeof(bool)==1);	// ...otherwise things might fail with VC++ 4.2 !
	ICE_COMPILE_TIME_ASSERT(sizeof(ubyte)==1);
	ICE_COMPILE_TIME_ASSERT(sizeof(sbyte)==1);
	ICE_COMPILE_TIME_ASSERT(sizeof(sword)==2);
	ICE_COMPILE_TIME_ASSERT(sizeof(uword)==2);
	ICE_COMPILE_TIME_ASSERT(sizeof(udword)==4);
	ICE_COMPILE_TIME_ASSERT(sizeof(sdword)==4);
	ICE_COMPILE_TIME_ASSERT(sizeof(uqword)==8);
	ICE_COMPILE_TIME_ASSERT(sizeof(sqword)==8);

	//! TO BE DOCUMENTED
	#define DECLARE_ICE_HANDLE(name)	struct name##__ { int unused; }; typedef struct name##__ *name

	typedef udword				DynID;		//!< Dynamic identifier
#ifdef USE_HANDLE_MANAGER
	typedef udword				KID;		//!< Kernel ID
//	DECLARE_ICE_HANDLE(KID);<commit_msg>Fixed: Unsafe and unnecessary redefinition of bool type on MacOS has been removed.<commit_after>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 *	Contains custom types.
 *	\file		IceTypes.h
 *	\author		<NAME>
 *	\date		April, 4, 2000
 */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Include Guard
#ifndef __ICETYPES_H__
#define __ICETYPES_H__

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Things to help us compile on non-windows platforms

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	#define USE_HANDLE_MANAGER

	// Constants
	#define	PI					3.1415926535897932384626433832795028841971693993751f	//!< PI
	#define	HALFPI				1.57079632679489661923f									//!< 0.5 * PI
	#define	TWOPI				6.28318530717958647692f									//!< 2.0 * PI
	#define	INVPI				0.31830988618379067154f									//!< 1.0 / PI

	#define	RADTODEG			57.2957795130823208768f									//!< 180.0 / PI, convert radians to degrees
	#define	DEGTORAD			0.01745329251994329577f									//!< PI / 180.0, convert degrees to radians

	#define	EXP					2.71828182845904523536f									//!< e
	#define	INVLOG2				3.32192809488736234787f									//!< 1.0 / log10(2)
	#define	LN2					0.693147180559945f										//!< ln(2)
	#define	INVLN2				1.44269504089f											//!< 1.0f / ln(2)

	#define	INV3				0.33333333333333333333f									//!< 1/3
	#define	INV6				0.16666666666666666666f									//!< 1/6
	#define	INV7				0.14285714285714285714f									//!< 1/7
	#define	INV9				0.11111111111111111111f									//!< 1/9
	#define	INV255				0.00392156862745098039f									//!< 1/255

	#define	SQRT2				1.41421356237f											//!< sqrt(2)
	#define	INVSQRT2			0.707106781188f											//!< 1 / sqrt(2)

	#define	SQRT3				1.73205080757f											//!< sqrt(3)
	#define	INVSQRT3			0.577350269189f											//!< 1 / sqrt(3)

	#define null				0														//!< our own NULL pointer

	// Custom types used in ICE
	typedef signed char			sbyte;		//!< sizeof(sbyte)	must be 1
	typedef unsigned char		ubyte;		//!< sizeof(ubyte)	must be 1
	typedef signed short		sword;		//!< sizeof(sword)	must be 2
	typedef unsigned short		uword;		//!< sizeof(uword)	must be 2
	typedef signed int			sdword;		//!< sizeof(sdword)	must be 4
	typedef unsigned int		udword;		//!< sizeof(udword)	must be 4
	typedef signed __int64		sqword;		//!< sizeof(sqword)	must be 8
	typedef unsigned __int64	uqword;		//!< sizeof(uqword)	must be 8
	typedef float				float32;	//!< sizeof(float32)	must be 4
	typedef double				float64;	//!< sizeof(float64)	must be 4

	ICE_COMPILE_TIME_ASSERT(sizeof(ubyte)==1);
	ICE_COMPILE_TIME_ASSERT(sizeof(sbyte)==1);
	ICE_COMPILE_TIME_ASSERT(sizeof(sword)==2);
	ICE_COMPILE_TIME_ASSERT(sizeof(uword)==2);
	ICE_COMPILE_TIME_ASSERT(sizeof(udword)==4);
	ICE_COMPILE_TIME_ASSERT(sizeof(sdword)==4);
	ICE_COMPILE_TIME_ASSERT(sizeof(uqword)==8);
	ICE_COMPILE_TIME_ASSERT(sizeof(sqword)==8);

	//! TO BE DOCUMENTED
	#define DECLARE_ICE_HANDLE(name)	struct name##__ { int unused; }; typedef struct name##__ *name

	typedef udword				DynID;		//!< Dynamic identifier
#ifdef USE_HANDLE_MANAGER
	typedef udword				KID;		//!< Kernel ID
//	DECLARE_ICE_HANDLE(KID);
{'fraction_non_alphanumeric': 0.3385934393638171, 'fraction_numerical': 0.117668986083499, 'mean_word_length': 1.2660472972972974, 'pattern_counts': {'":': 0, '<': 69, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 6, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1265686', 'n_tokens_mistral': 3577, 'n_tokens_neox': 2506, 'n_words': 532}