1
Fork 0
satellite/home/features/neovim/config/lua/my/helpers/math/mod.lua

16 lines
277 B
Lua
Raw Normal View History

2023-01-10 02:38:06 +01:00
local M = {}
function M.modinverse(b, m)
local g, x, _ = M.gcd(b, m)
if g ~= 1 then return nil end
return x % m
end
function M.gcd(a, b)
if a == 0 then return b, 0, 1 end
local g, x1, y1 = M.gcd(b % a, a)
return g, y1 - (math.floor(b / a)) * x1, x1
end
return M