1
0
Fork 0
mirror of https://github.com/Reuh/anselme.git synced 2025-10-27 16:49:31 +00:00

[stdlib] fix integer division

This commit is contained in:
Étienne Fildadut 2024-01-16 14:40:28 +01:00
parent c54fa4344f
commit eaadb4ace6

View file

@ -44,7 +44,16 @@ return {
{ "_-_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number - b.number) end },
{ "_*_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number * b.number) end },
{ "_/_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number / b.number) end },
{ "_//_", "(a::is number, b::is number)", function(state, a, b) return Number:new(math.floor(a.number / b.number)) end },
{
"_//_", "(a::is number, b::is number)", function(state, a, b)
local r = a.number / b.number
if r < 0 then
return Number:new(math.ceil(r))
else
return Number:new(math.floor(r))
end
end
},
{ "_%_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number % b.number) end },
{ "_^_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number ^ b.number) end },
{ "-_", "(a::is number)", function(state, a) return Number:new(-a.number) end },