Files
MinecraftConsoles/Minecraft.World/BasicTypeContainers.h
2026-03-01 12:16:08 +08:00

75 lines
1.2 KiB
C++

#pragma once
class Byte
{
public:
static const char MAX_VALUE = CHAR_MAX;
static const char MIN_VALUE = CHAR_MIN;
};
class Short
{
public:
static const short MAX_VALUE = SHRT_MAX;
static const short MIN_VALUE = SHRT_MIN;
};
class Integer
{
public:
static const int MAX_VALUE = INT_MAX;
static int parseInt(wstring &str, int radix = 10);
};
class Float
{
public:
static const float MAX_VALUE;
static int floatToIntBits( float value )
{
return *(int *)&value;
}
static int floatToRawIntBits( float value )
{
return *(int *)&value;
}
static float intBitsToFloat( int bits )
{
return *(float *)&bits;
}
static const float POSITIVE_INFINITY;
};
class Double
{
public:
static const double MAX_VALUE;
static bool isNaN( double a ) {
#ifdef __PS3__
return isnan(a);
#else
return ( a != a );
#endif
}
static bool isInfinite( double a ) { return false; /*4J TODO*/ }
static double longBitsToDouble( __int64 bits )
{
return *(double *)&bits;
}
static __int64 doubleToLongBits( double d )
{
return *(__int64 *)&d;
}
};
// 4J Stu - The String class should only be used if we need to use the BaseClass::class type
// As such I have renamed it so that we don't confuse it with places where we should use std::string
class _String
{
};