summaryrefslogtreecommitdiff
path: root/builtin/common
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2014-12-05 23:18:52 +0100
committerKahrl <kahrl@gmx.net>2014-12-06 10:07:25 +0100
commit2fd14e1bd53918b3c4fcdfbc81294ff8b7afe1fa (patch)
tree7a997950d75f1d2a1c49b30128b8535d3a25af45 /builtin/common
parent0e78aa296ee8b552273fdc9d6fabec0fb01d2e4a (diff)
downloadminetest-2fd14e1bd53918b3c4fcdfbc81294ff8b7afe1fa.tar.gz
minetest-2fd14e1bd53918b3c4fcdfbc81294ff8b7afe1fa.tar.bz2
minetest-2fd14e1bd53918b3c4fcdfbc81294ff8b7afe1fa.zip
Add Lua helper functions vector.apply(v) math.sign(x, tolerance)
Diffstat (limited to 'builtin/common')
-rw-r--r--builtin/common/misc_helpers.lua11
-rw-r--r--builtin/common/vector.lua8
2 files changed, 19 insertions, 0 deletions
diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index 0b608126e..e1dc28965 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -213,6 +213,17 @@ function math.hypot(x, y)
end
--------------------------------------------------------------------------------
+function math.sign(x, tolerance)
+ tolerance = tolerance or 0
+ if x > tolerance then
+ return 1
+ elseif x < -tolerance then
+ return -1
+ end
+ return 0
+end
+
+--------------------------------------------------------------------------------
function get_last_folder(text,count)
local parts = text:split(DIR_DELIM)
diff --git a/builtin/common/vector.lua b/builtin/common/vector.lua
index 88ccfe6da..e9ed3aab3 100644
--- a/builtin/common/vector.lua
+++ b/builtin/common/vector.lua
@@ -39,6 +39,14 @@ function vector.round(v)
}
end
+function vector.apply(v, func)
+ return {
+ x = func(v.x),
+ y = func(v.y),
+ z = func(v.z)
+ }
+end
+
function vector.distance(a, b)
local x = a.x - b.x
local y = a.y - b.y