mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-02-21 20:27:13 +01:00
Minor improvements on the LongInt classes.
This commit is contained in:
parent
d42040c9c0
commit
07b8a8b4a0
@ -11,6 +11,14 @@
|
|||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
namespace SqMod {
|
namespace SqMod {
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
SQInteger LongInt< Int64 >::Typename(HSQUIRRELVM vm)
|
||||||
|
{
|
||||||
|
static const SQChar name[] = _SC("SLongInt");
|
||||||
|
sq_pushstring(vm, name, sizeof(name));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
LongInt< Int64 >::LongInt(CSStr text) : m_Data(0), m_Text()
|
LongInt< Int64 >::LongInt(CSStr text) : m_Data(0), m_Text()
|
||||||
{
|
{
|
||||||
@ -64,6 +72,14 @@ void LongInt< Int64 >::Random(Type m, Type n)
|
|||||||
m_Data = GetRandomInt64(m, n);
|
m_Data = GetRandomInt64(m, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
SQInteger LongInt< Uint64 >::Typename(HSQUIRRELVM vm)
|
||||||
|
{
|
||||||
|
static const SQChar name[] = _SC("ULongInt");
|
||||||
|
sq_pushstring(vm, name, sizeof(name));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
LongInt< Uint64 >::LongInt(CSStr text) : m_Data(0), m_Text()
|
LongInt< Uint64 >::LongInt(CSStr text) : m_Data(0), m_Text()
|
||||||
{
|
{
|
||||||
@ -121,72 +137,72 @@ void LongInt< Uint64 >::Random(Type m, Type n)
|
|||||||
void Register_LongInt(HSQUIRRELVM vm)
|
void Register_LongInt(HSQUIRRELVM vm)
|
||||||
{
|
{
|
||||||
RootTable(vm).Bind(_SC("SLongInt"), Class< SLongInt >(vm, _SC("SLongInt"))
|
RootTable(vm).Bind(_SC("SLongInt"), Class< SLongInt >(vm, _SC("SLongInt"))
|
||||||
/* Constructors */
|
// Constructors
|
||||||
.Ctor()
|
.Ctor()
|
||||||
.Ctor< SLongInt::Type >()
|
.Ctor< SLongInt::Type >()
|
||||||
.template Ctor< CCStr, SQInteger >()
|
.template Ctor< CCStr, SQInteger >()
|
||||||
/* Properties */
|
// Properties
|
||||||
.Prop(_SC("Str"), &SLongInt::GetCStr, &SLongInt::SetStr)
|
.Prop(_SC("Str"), &SLongInt::GetCStr, &SLongInt::SetStr)
|
||||||
.Prop(_SC("Num"), &SLongInt::GetSNum, &SLongInt::SetNum)
|
.Prop(_SC("Num"), &SLongInt::GetSNum, &SLongInt::SetNum)
|
||||||
/* Core Meta-methods */
|
// Core Meta-methods
|
||||||
.Func(_SC("_tostring"), &SLongInt::ToString)
|
.Func(_SC("_tostring"), &SLongInt::ToString)
|
||||||
.Func(_SC("_typename"), &SLongInt::Typename)
|
.SquirrelFunc(_SC("_typename"), &SLongInt::Typename)
|
||||||
.Func(_SC("_cmp"), &SLongInt::Cmp)
|
.Func(_SC("_cmp"), &SLongInt::Cmp)
|
||||||
/* Core Functions */
|
// Core Functions
|
||||||
.Func(_SC("tointeger"), &SLongInt::ToSqInteger)
|
.Func(_SC("tointeger"), &SLongInt::ToSqInteger)
|
||||||
.Func(_SC("tofloat"), &SLongInt::ToSqFloat)
|
.Func(_SC("tofloat"), &SLongInt::ToSqFloat)
|
||||||
.Func(_SC("tostring"), &SLongInt::ToSqString)
|
.Func(_SC("tostring"), &SLongInt::ToSqString)
|
||||||
.Func(_SC("tobool"), &SLongInt::ToSqBool)
|
.Func(_SC("tobool"), &SLongInt::ToSqBool)
|
||||||
.Func(_SC("tochar"), &SLongInt::ToSqChar)
|
.Func(_SC("tochar"), &SLongInt::ToSqChar)
|
||||||
/* Meta-methods */
|
// Meta-methods
|
||||||
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_add"), &SLongInt::operator +)
|
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_add"), &SLongInt::operator +)
|
||||||
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_sub"), &SLongInt::operator -)
|
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_sub"), &SLongInt::operator -)
|
||||||
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_mul"), &SLongInt::operator *)
|
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_mul"), &SLongInt::operator *)
|
||||||
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_div"), &SLongInt::operator /)
|
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_div"), &SLongInt::operator /)
|
||||||
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_modulo"), &SLongInt::operator %)
|
.Func< SLongInt (SLongInt::*)(const SLongInt &) const >(_SC("_modulo"), &SLongInt::operator %)
|
||||||
.Func< SLongInt (SLongInt::*)(void) const >(_SC("_unm"), &SLongInt::operator -)
|
.Func< SLongInt (SLongInt::*)(void) const >(_SC("_unm"), &SLongInt::operator -)
|
||||||
/* Functions */
|
// Functions
|
||||||
.Func(_SC("GetStr"), &SLongInt::GetCStr)
|
.Func(_SC("GetStr"), &SLongInt::GetCStr)
|
||||||
.Func(_SC("SetStr"), &SLongInt::SetStr)
|
.Func(_SC("SetStr"), &SLongInt::SetStr)
|
||||||
.Func(_SC("GetNum"), &SLongInt::GetSNum)
|
.Func(_SC("GetNum"), &SLongInt::GetSNum)
|
||||||
.Func(_SC("SetNum"), &SLongInt::SetNum)
|
.Func(_SC("SetNum"), &SLongInt::SetNum)
|
||||||
/* Overloads */
|
// Overloads
|
||||||
.Overload< void (SLongInt::*)(void) >(_SC("Random"), &SLongInt::Random)
|
.Overload< void (SLongInt::*)(void) >(_SC("Random"), &SLongInt::Random)
|
||||||
.Overload< void (SLongInt::*)(SLongInt::Type) >(_SC("Random"), &SLongInt::Random)
|
.Overload< void (SLongInt::*)(SLongInt::Type) >(_SC("Random"), &SLongInt::Random)
|
||||||
.Overload< void (SLongInt::*)(SLongInt::Type, SLongInt::Type) >(_SC("Random"), &SLongInt::Random)
|
.Overload< void (SLongInt::*)(SLongInt::Type, SLongInt::Type) >(_SC("Random"), &SLongInt::Random)
|
||||||
);
|
);
|
||||||
|
|
||||||
RootTable(vm).Bind(_SC("ULongInt"), Class< ULongInt >(vm, _SC("ULongInt"))
|
RootTable(vm).Bind(_SC("ULongInt"), Class< ULongInt >(vm, _SC("ULongInt"))
|
||||||
/* Constructors */
|
// Constructors
|
||||||
.Ctor()
|
.Ctor()
|
||||||
.Ctor< ULongInt::Type >()
|
.Ctor< ULongInt::Type >()
|
||||||
.Ctor< CCStr, SQInteger >()
|
.Ctor< CCStr, SQInteger >()
|
||||||
/* Properties */
|
// Properties
|
||||||
.Prop(_SC("Str"), &ULongInt::GetCStr, &ULongInt::SetStr)
|
.Prop(_SC("Str"), &ULongInt::GetCStr, &ULongInt::SetStr)
|
||||||
.Prop(_SC("Num"), &ULongInt::GetSNum, &ULongInt::SetNum)
|
.Prop(_SC("Num"), &ULongInt::GetSNum, &ULongInt::SetNum)
|
||||||
/* Core Meta-methods */
|
// Core Meta-methods
|
||||||
.Func(_SC("_tostring"), &ULongInt::ToString)
|
.Func(_SC("_tostring"), &ULongInt::ToString)
|
||||||
.Func(_SC("_typename"), &ULongInt::Typename)
|
.SquirrelFunc(_SC("_typename"), &ULongInt::Typename)
|
||||||
.Func(_SC("_cmp"), &ULongInt::Cmp)
|
.Func(_SC("_cmp"), &ULongInt::Cmp)
|
||||||
/* Core Functions */
|
// Core Functions
|
||||||
.Func(_SC("tointeger"), &ULongInt::ToSqInteger)
|
.Func(_SC("tointeger"), &ULongInt::ToSqInteger)
|
||||||
.Func(_SC("tofloat"), &ULongInt::ToSqFloat)
|
.Func(_SC("tofloat"), &ULongInt::ToSqFloat)
|
||||||
.Func(_SC("tostring"), &ULongInt::ToSqString)
|
.Func(_SC("tostring"), &ULongInt::ToSqString)
|
||||||
.Func(_SC("tobool"), &ULongInt::ToSqBool)
|
.Func(_SC("tobool"), &ULongInt::ToSqBool)
|
||||||
.Func(_SC("tochar"), &ULongInt::ToSqChar)
|
.Func(_SC("tochar"), &ULongInt::ToSqChar)
|
||||||
/* Meta-methods */
|
// Meta-methods
|
||||||
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_add"), &ULongInt::operator +)
|
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_add"), &ULongInt::operator +)
|
||||||
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_sub"), &ULongInt::operator -)
|
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_sub"), &ULongInt::operator -)
|
||||||
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_mul"), &ULongInt::operator *)
|
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_mul"), &ULongInt::operator *)
|
||||||
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_div"), &ULongInt::operator /)
|
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_div"), &ULongInt::operator /)
|
||||||
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_modulo"), &ULongInt::operator %)
|
.Func< ULongInt (ULongInt::*)(const ULongInt &) const >(_SC("_modulo"), &ULongInt::operator %)
|
||||||
.Func< ULongInt (ULongInt::*)(void) const >(_SC("_unm"), &ULongInt::operator -)
|
.Func< ULongInt (ULongInt::*)(void) const >(_SC("_unm"), &ULongInt::operator -)
|
||||||
/* Functions */
|
// Functions
|
||||||
.Func(_SC("GetStr"), &ULongInt::GetCStr)
|
.Func(_SC("GetStr"), &ULongInt::GetCStr)
|
||||||
.Func(_SC("SetStr"), &ULongInt::SetStr)
|
.Func(_SC("SetStr"), &ULongInt::SetStr)
|
||||||
.Func(_SC("GetNum"), &ULongInt::GetSNum)
|
.Func(_SC("GetNum"), &ULongInt::GetSNum)
|
||||||
.Func(_SC("SetNum"), &ULongInt::SetNum)
|
.Func(_SC("SetNum"), &ULongInt::SetNum)
|
||||||
/* Overloads */
|
// Overloads
|
||||||
.Overload< void (ULongInt::*)(void) >(_SC("Random"), &ULongInt::Random)
|
.Overload< void (ULongInt::*)(void) >(_SC("Random"), &ULongInt::Random)
|
||||||
.Overload< void (ULongInt::*)(ULongInt::Type) >(_SC("Random"), &ULongInt::Random)
|
.Overload< void (ULongInt::*)(ULongInt::Type) >(_SC("Random"), &ULongInt::Random)
|
||||||
.Overload< void (ULongInt::*)(ULongInt::Type, ULongInt::Type) >(_SC("Random"), &ULongInt::Random)
|
.Overload< void (ULongInt::*)(ULongInt::Type, ULongInt::Type) >(_SC("Random"), &ULongInt::Random)
|
||||||
|
@ -166,30 +166,33 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to compare two instances of this type.
|
||||||
*/
|
*/
|
||||||
Int32 Cmp(const LongInt< Type > & o) const
|
Int32 Cmp(const LongInt< Type > & o) const
|
||||||
{
|
{
|
||||||
if (m_Data == o.m_Data)
|
if (m_Data == o.m_Data)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
else if (m_Data > o.m_Data)
|
else if (m_Data > o.m_Data)
|
||||||
|
{
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to convert an instance of this type to a string.
|
||||||
*/
|
*/
|
||||||
CSStr ToString();
|
CSStr ToString();
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to retrieve the name from instances of this type.
|
||||||
*/
|
*/
|
||||||
CSStr Typename() const
|
static SQInteger Typename(HSQUIRRELVM vm);
|
||||||
{
|
|
||||||
return _SC("SLongInt");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
@ -429,7 +432,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to compare two instances of this type.
|
||||||
*/
|
*/
|
||||||
Int32 Cmp(const LongInt< Type > & o) const
|
Int32 Cmp(const LongInt< Type > & o) const
|
||||||
{
|
{
|
||||||
@ -448,17 +451,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to convert an instance of this type to a string.
|
||||||
*/
|
*/
|
||||||
CSStr ToString();
|
CSStr ToString();
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
* Used by the script engine to retrieve the name from instances of this type.
|
||||||
*/
|
*/
|
||||||
CSStr Typename() const
|
static SQInteger Typename(HSQUIRRELVM vm);
|
||||||
{
|
|
||||||
return _SC("ULongInt");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user