public static BigNumber mod(BigNumber lhs, BigNumber rhs) { BigNumber ret = new BigNumber(); Context ctx = new Context(); ctx.Start(); Native.ExpectSuccess(Native.BN_div(IntPtr.Zero, ret.Handle, lhs.Handle, rhs.Handle, ctx.Handle)); ctx.End(); return(ret); }
public static BigNumber lcm(BigNumber lhs, BigNumber rhs, BigNumber gcd) { BigNumber ret = new BigNumber(); BigNumber tmp = new BigNumber(); Context ctx = new Context(); ctx.Start(); Native.ExpectSuccess(Native.BN_div(tmp.Handle, IntPtr.Zero, lhs.Handle, gcd.Handle, ctx.Handle)); Native.ExpectSuccess(Native.BN_mul(ret.Handle, rhs.Handle, tmp.Handle, ctx.Handle)); ctx.End(); return(ret); }