--- a/src/squirrel_std.cpp Thu Jun 12 13:24:33 2008 +0000
+++ b/src/squirrel_std.cpp Thu Jun 12 18:03:50 2008 +0000
@@ -5,6 +5,7 @@
#include "squirrel.hpp"
#include "squirrel_std.hpp"
#include "core/alloc_func.hpp"
+#include "core/math_func.hpp"
/* abs() is normally defined to myabs(), which we don't want in this file */
#undef abs
@@ -18,6 +19,26 @@
return 1;
}
+SQInteger SquirrelStd::min(HSQUIRRELVM vm)
+{
+ SQInteger tmp1, tmp2;
+
+ sq_getinteger(vm, 2, &tmp1);
+ sq_getinteger(vm, 3, &tmp2);
+ sq_pushinteger(vm, ::min(tmp1, tmp2));
+ return 1;
+}
+
+SQInteger SquirrelStd::max(HSQUIRRELVM vm)
+{
+ SQInteger tmp1, tmp2;
+
+ sq_getinteger(vm, 2, &tmp1);
+ sq_getinteger(vm, 3, &tmp2);
+ sq_pushinteger(vm, ::max(tmp1, tmp2));
+ return 1;
+}
+
SQInteger SquirrelStd::require(HSQUIRRELVM vm)
{
SQInteger top = sq_gettop(vm);
@@ -66,5 +87,7 @@
{
/* We don't use squirrel_helper here, as we want to register to the global
* scope and not to a class. */
- engine->AddMethod("abs", &SquirrelStd::abs, 2, "xi");
+ engine->AddMethod("abs", &SquirrelStd::abs, 2, "?i");
+ engine->AddMethod("min", &SquirrelStd::min, 3, "?ii");
+ engine->AddMethod("max", &SquirrelStd::max, 3, "?ii");
}