src/squirrel_std.cpp
branchnoai
changeset 10938 df6235dd2b7a
parent 10649 9034b80fdbdb
--- 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");
 }