Skip to content

Commit 3beb81a

Browse files
committed
make pow not return nan for negative numbers
1 parent 995794d commit 3beb81a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

big-num/omeganum.lua

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,11 +662,16 @@ function Big:pow(other)
662662
end
663663

664664
if (self.number < 0) then
665+
-- talisman-specific behavior
666+
local p = self:abs():pow(other)
667+
return other.number % 2 < 1 and p:neg() or p
668+
669+
--[[
665670
local mod = other.number % 2
666671
if mod ~= 0 and mod ~= 1 then return B.NaN end
667-
668672
local p = self:abs():pow(other)
669673
return mod == 1 and p:neg() or p
674+
]]
670675
end
671676
if (self.number == 0) then
672677
return B.ZERO

0 commit comments

Comments
 (0)