forked from Mirrorlandia_minetest/minetest
Add math.round
and fix vector.round
(#10803)
This commit is contained in:
parent
1e4913cd76
commit
3560691c0a
@ -20,7 +20,7 @@ read_globals = {
|
|||||||
|
|
||||||
string = {fields = {"split", "trim"}},
|
string = {fields = {"split", "trim"}},
|
||||||
table = {fields = {"copy", "getn", "indexof", "insert_all"}},
|
table = {fields = {"copy", "getn", "indexof", "insert_all"}},
|
||||||
math = {fields = {"hypot"}},
|
math = {fields = {"hypot", "round"}},
|
||||||
}
|
}
|
||||||
|
|
||||||
globals = {
|
globals = {
|
||||||
|
@ -244,6 +244,15 @@ function math.factorial(x)
|
|||||||
return v
|
return v
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function math.round(x)
|
||||||
|
if x >= 0 then
|
||||||
|
return math.floor(x + 0.5)
|
||||||
|
end
|
||||||
|
return math.ceil(x - 0.5)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function core.formspec_escape(text)
|
function core.formspec_escape(text)
|
||||||
if text ~= nil then
|
if text ~= nil then
|
||||||
text = string.gsub(text,"\\","\\\\")
|
text = string.gsub(text,"\\","\\\\")
|
||||||
|
@ -41,9 +41,9 @@ end
|
|||||||
|
|
||||||
function vector.round(v)
|
function vector.round(v)
|
||||||
return {
|
return {
|
||||||
x = math.floor(v.x + 0.5),
|
x = math.round(v.x),
|
||||||
y = math.floor(v.y + 0.5),
|
y = math.round(v.y),
|
||||||
z = math.floor(v.z + 0.5)
|
z = math.round(v.z)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -3163,6 +3163,7 @@ For the following functions, `v`, `v1`, `v2` are vectors,
|
|||||||
* Returns a vector, each dimension rounded down.
|
* Returns a vector, each dimension rounded down.
|
||||||
* `vector.round(v)`:
|
* `vector.round(v)`:
|
||||||
* Returns a vector, each dimension rounded to nearest integer.
|
* Returns a vector, each dimension rounded to nearest integer.
|
||||||
|
* At a multiple of 0.5, rounds away from zero.
|
||||||
* `vector.apply(v, func)`:
|
* `vector.apply(v, func)`:
|
||||||
* Returns a vector where the function `func` has been applied to each
|
* Returns a vector where the function `func` has been applied to each
|
||||||
component.
|
component.
|
||||||
@ -3237,6 +3238,8 @@ Helper functions
|
|||||||
* If the absolute value of `x` is within the `tolerance` or `x` is NaN,
|
* If the absolute value of `x` is within the `tolerance` or `x` is NaN,
|
||||||
`0` is returned.
|
`0` is returned.
|
||||||
* `math.factorial(x)`: returns the factorial of `x`
|
* `math.factorial(x)`: returns the factorial of `x`
|
||||||
|
* `math.round(x)`: Returns `x` rounded to the nearest integer.
|
||||||
|
* At a multiple of 0.5, rounds away from zero.
|
||||||
* `string.split(str, separator, include_empty, max_splits, sep_is_pattern)`
|
* `string.split(str, separator, include_empty, max_splits, sep_is_pattern)`
|
||||||
* `separator`: string, default: `","`
|
* `separator`: string, default: `","`
|
||||||
* `include_empty`: boolean, default: `false`
|
* `include_empty`: boolean, default: `false`
|
||||||
|
Loading…
Reference in New Issue
Block a user