From 50d9de279c0b9da444e5595ea2a40bdd4c02b513 Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Wed, 24 Mar 2021 10:55:17 +0100 Subject: [PATCH] libgmp implementation --- ln.biginteger.test/UnitTest1.cs | 510 ++-- ln.biginteger/BigInteger.cs | 3606 ++++++++++++++------------ ln.biginteger/BigIntegerAllocator.cs | 42 + ln.biginteger/ln.biginteger.csproj | 10 +- ln.biginteger/x64/libgmp.so | Bin 0 -> 706584 bytes 5 files changed, 2363 insertions(+), 1805 deletions(-) create mode 100644 ln.biginteger/BigIntegerAllocator.cs create mode 100755 ln.biginteger/x64/libgmp.so diff --git a/ln.biginteger.test/UnitTest1.cs b/ln.biginteger.test/UnitTest1.cs index efcce63..31ef937 100644 --- a/ln.biginteger.test/UnitTest1.cs +++ b/ln.biginteger.test/UnitTest1.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using System; +using System.Numerics; using System.Security.Cryptography; namespace ln.biginteger.test @@ -11,266 +12,266 @@ namespace ln.biginteger.test { } - [Test] - public void Test_00_LowLevel() - { - UInt32[] a,b,c; - Int32 d; + // [Test] + // public void Test_00_LowLevel() + // { + // UInt32[] a,b,c; + // Int32 d; - a = new UInt32[]{ 0x00000000, 0x00000000 }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 1 , d ); + // a = new UInt32[]{ 0x00000000, 0x00000000 }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 1 , d ); - a = new UInt32[]{ 0x00000001, 0x00000000 }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 2 , d ); + // a = new UInt32[]{ 0x00000001, 0x00000000 }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 2 , d ); - a = new UInt32[]{ 0x00001000, 0x00000000 }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 14 , d ); + // a = new UInt32[]{ 0x00001000, 0x00000000 }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 14 , d ); - a = new UInt32[]{ 0xFFFF8000, 0x00000000 }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 33 , d ); + // a = new UInt32[]{ 0xFFFF8000, 0x00000000 }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 33 , d ); - a = new UInt32[]{ 0xFFFF8000, 0xFFFFFFFF }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 16 , d ); + // a = new UInt32[]{ 0xFFFF8000, 0xFFFFFFFF }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 16 , d ); - a = new UInt32[]{ 0xFC000000 }; - d = BigInteger.big_get_bitlength( a, a.Length ); - Assert.AreEqual( 27 , d ); + // a = new UInt32[]{ 0xFC000000 }; + // d = BigInteger.big_get_bitlength( a, a.Length ); + // Assert.AreEqual( 27 , d ); - a = new uint[]{0}; - b = new uint[]{0, 0}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{0}; + // b = new uint[]{0, 0}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{0}; - b = new uint[]{0, 0, 0, 0}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{0}; + // b = new uint[]{0, 0, 0, 0}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{1}; - b = new uint[]{1, 0, 0, 0}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{1}; + // b = new uint[]{1, 0, 0, 0}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{5463782}; - b = new uint[]{5463782, 0, 0, 0}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{5463782}; + // b = new uint[]{5463782, 0, 0, 0}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{ 0xFFFFEDCB }; - b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{ 0xFFFFEDCB }; + // b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{ 0xFFFFEDCB }; - b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{ 0xFFFFEDCB }; + // b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF }; - b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}; - c = BigInteger.Extend(a, b.Length); - Assert.AreEqual(b, c); + // a = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF }; + // b = new uint[]{ 0xFFFFEDCB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}; + // c = BigInteger.Extend(a, b.Length); + // Assert.AreEqual(b, c); - a = new uint[]{ 0xFFFFFFFF }; - b = new uint[]{ 0x00000001 }; - BigInteger.big_twos( a, a.Length ); - Assert.AreEqual(b, a); + // a = new uint[]{ 0xFFFFFFFF }; + // b = new uint[]{ 0x00000001 }; + // BigInteger.big_twos( a, a.Length ); + // Assert.AreEqual(b, a); - a = new uint[]{ 0xFFFFFFFF, 0xFFFFFFFF }; - b = new uint[]{ 0x00000001, 0x00000000 }; - BigInteger.big_twos( a, a.Length ); - Assert.AreEqual(b, a); + // a = new uint[]{ 0xFFFFFFFF, 0xFFFFFFFF }; + // b = new uint[]{ 0x00000001, 0x00000000 }; + // BigInteger.big_twos( a, a.Length ); + // Assert.AreEqual(b, a); - a = new uint[]{ 0x01000020 }; - b = new uint[]{ 0x00100002 }; - BigInteger.big_shr( a, a.Length, 4); - Assert.AreEqual(b, a); + // a = new uint[]{ 0x01000020 }; + // b = new uint[]{ 0x00100002 }; + // BigInteger.big_shr( a, a.Length, 4); + // Assert.AreEqual(b, a); - a = new uint[]{ 0x10000000 }; - b = new uint[]{ 0x08000000 }; - BigInteger.big_shr( a, a.Length, 1); - Assert.AreEqual(b, a); + // a = new uint[]{ 0x10000000 }; + // b = new uint[]{ 0x08000000 }; + // BigInteger.big_shr( a, a.Length, 1); + // Assert.AreEqual(b, a); - a = new uint[]{ 0xbbccddee, 0x00000002 }; - b = new uint[]{ 0x00000000, 0x00000002 }; - Assert.IsTrue( BigInteger.big_cmp(a, b) > 0 ); + // a = new uint[]{ 0xbbccddee, 0x00000002 }; + // b = new uint[]{ 0x00000000, 0x00000002 }; + // Assert.IsTrue( BigInteger.big_cmp(a, b) > 0 ); - } + // } - [Test] - public void Test_01_LL_AddSub() - { - UInt32[] a,b,c; + // [Test] + // public void Test_01_LL_AddSub() + // { + // UInt32[] a,b,c; - a = new UInt32[]{ 0x00000000 }; - b = new UInt32[]{ 0x00000000 }; - c = new UInt32[]{ 0x00000000 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000000 }; + // b = new UInt32[]{ 0x00000000 }; + // c = new UInt32[]{ 0x00000000 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00000123 }; - b = new UInt32[]{ 0x00123000 }; - c = new UInt32[]{ 0x00123123 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000123 }; + // b = new UInt32[]{ 0x00123000 }; + // c = new UInt32[]{ 0x00123123 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00000123 }; - b = new UInt32[]{ 0x00000123 }; - c = new UInt32[]{ 0x00000246 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000123 }; + // b = new UInt32[]{ 0x00000123 }; + // c = new UInt32[]{ 0x00000246 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00123456 }; - b = new UInt32[]{ 0x00345678 }; - c = new UInt32[]{ 0x00468ACE }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00123456 }; + // b = new UInt32[]{ 0x00345678 }; + // c = new UInt32[]{ 0x00468ACE }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x70004567, 0x00000000 }; - b = new UInt32[]{ 0x10000000 }; - c = new UInt32[]{ 0x80004567, 0x00000000 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x70004567, 0x00000000 }; + // b = new UInt32[]{ 0x10000000 }; + // c = new UInt32[]{ 0x80004567, 0x00000000 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x70004567, 0x00000000 }; - b = new UInt32[]{ 0x20000000 }; - c = new UInt32[]{ 0x90004567, 0x00000000 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x70004567, 0x00000000 }; + // b = new UInt32[]{ 0x20000000 }; + // c = new UInt32[]{ 0x90004567, 0x00000000 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x70004567, 0x00000000 }; - b = new UInt32[]{ 0xA0000000 }; - c = new UInt32[]{ 0x10004567, 0x00000001 }; - BigInteger.big_add( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x70004567, 0x00000000 }; + // b = new UInt32[]{ 0xA0000000 }; + // c = new UInt32[]{ 0x10004567, 0x00000001 }; + // BigInteger.big_add( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00000000 }; - b = new UInt32[]{ 0x00000001 }; - c = new UInt32[]{ 0xFFFFFFFF }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000000 }; + // b = new UInt32[]{ 0x00000001 }; + // c = new UInt32[]{ 0xFFFFFFFF }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00000000, 0x00000000 }; - b = new UInt32[]{ 0x00000001 }; - c = new UInt32[]{ 0xFFFFFFFF, 0xFFFFFFFF }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000000, 0x00000000 }; + // b = new UInt32[]{ 0x00000001 }; + // c = new UInt32[]{ 0xFFFFFFFF, 0xFFFFFFFF }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x00000000, 0xF0000000 }; - b = new UInt32[]{ 0x00000001 }; - c = new UInt32[]{ 0xFFFFFFFF, 0xEFFFFFFF }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000000, 0xF0000000 }; + // b = new UInt32[]{ 0x00000001 }; + // c = new UInt32[]{ 0xFFFFFFFF, 0xEFFFFFFF }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x54A5D32F, 0xD25AC351 }; - b = new UInt32[]{ 0xC351425A, 0x432F54A5 }; - c = new UInt32[]{ 0x915490D5, 0x8F2B6EAB }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x54A5D32F, 0xD25AC351 }; + // b = new UInt32[]{ 0xC351425A, 0x432F54A5 }; + // c = new UInt32[]{ 0x915490D5, 0x8F2B6EAB }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x82345678, 0x00000013, 0x00000000 }; - b = new UInt32[]{ 0x80000000, 0x0000000c, 0x00000000 }; - c = new UInt32[]{ 0x02345678, 0x00000007, 0x00000000 }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x82345678, 0x00000013, 0x00000000 }; + // b = new UInt32[]{ 0x80000000, 0x0000000c, 0x00000000 }; + // c = new UInt32[]{ 0x02345678, 0x00000007, 0x00000000 }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x12345678, 0x00000013, 0x00000000 }; - b = new UInt32[]{ 0x80000000, 0x0000000c, 0x00000000 }; - c = new UInt32[]{ 0x92345678, 0x00000006, 0x00000000 }; - BigInteger.big_sub( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x12345678, 0x00000013, 0x00000000 }; + // b = new UInt32[]{ 0x80000000, 0x0000000c, 0x00000000 }; + // c = new UInt32[]{ 0x92345678, 0x00000006, 0x00000000 }; + // BigInteger.big_sub( a, b ); + // Assert.AreEqual( c, a ); - Assert.Pass(); - } + // Assert.Pass(); + // } - [Test] - public void Test_02_LL_Mul() - { - UInt32[] a,b,c; + // [Test] + // public void Test_02_LL_Mul() + // { + // UInt32[] a,b,c; - a = new UInt32[]{ 0x00000200 }; - b = new UInt32[]{ 0x00000300 }; - c = new UInt32[]{ 0x00060000 }; - BigInteger.big_smul( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x00000200 }; + // b = new UInt32[]{ 0x00000300 }; + // c = new UInt32[]{ 0x00060000 }; + // BigInteger.big_smul( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0xD25AC351, 0x00000000 }; - b = new UInt32[]{ 0x432F54A5 }; - c = new UInt32[]{ 0x6B757735, 0x3734A555 }; - BigInteger.big_smul( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0xD25AC351, 0x00000000 }; + // b = new UInt32[]{ 0x432F54A5 }; + // c = new UInt32[]{ 0x6B757735, 0x3734A555 }; + // BigInteger.big_smul( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0xFFFFFFFF }; - b = new UInt32[]{ 0x00000001 }; - c = new UInt32[]{ 0xFFFFFFFF }; - BigInteger.big_smul( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0xFFFFFFFF }; + // b = new UInt32[]{ 0x00000001 }; + // c = new UInt32[]{ 0xFFFFFFFF }; + // BigInteger.big_smul( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0xFFFFFFFF }; - b = new UInt32[]{ 0xFFFFFFFF }; - c = new UInt32[]{ 0x00000001 }; - BigInteger.big_smul( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0xFFFFFFFF }; + // b = new UInt32[]{ 0xFFFFFFFF }; + // c = new UInt32[]{ 0x00000001 }; + // BigInteger.big_smul( a, b ); + // Assert.AreEqual( c, a ); - } + // } - [Test] - public void Test_03_LL_Div() - { - UInt32[] a,b,c; - Int32 d; + // [Test] + // public void Test_03_LL_Div() + // { + // UInt32[] a,b,c; + // Int32 d; - a = new UInt32[]{ 0x12345678 }; - b = new UInt32[]{ 0x00000001 }; - c = new UInt32[]{ 0x12345678 }; - BigInteger.big_divmod( a, b ); - Assert.AreEqual( c, a ); + // a = new UInt32[]{ 0x12345678 }; + // b = new UInt32[]{ 0x00000001 }; + // c = new UInt32[]{ 0x12345678 }; + // BigInteger.big_divmod( a, b ); + // Assert.AreEqual( c, a ); - a = new UInt32[]{ 0x12345678 }; - b = new UInt32[]{ 0x00000032 }; - c = new UInt32[]{ 0x005D34ED }; - d = 0x2E; - BigInteger.big_divmod( a, b ); - Assert.AreEqual( c, a ); - Assert.AreEqual( d, b[0] ); + // a = new UInt32[]{ 0x12345678 }; + // b = new UInt32[]{ 0x00000032 }; + // c = new UInt32[]{ 0x005D34ED }; + // d = 0x2E; + // BigInteger.big_divmod( a, b ); + // Assert.AreEqual( c, a ); + // Assert.AreEqual( d, b[0] ); - a = new UInt32[]{ 0x12345678, 0x99AABBCC, 0x00000000 }; - b = new UInt32[]{ 0x00000032 }; - c = new UInt32[]{ 0xE1A4E302, 0x0312C650, 0x00000000 }; - d = 0x14; - BigInteger.big_divmod( a, b ); - Assert.AreEqual( c, a ); - Assert.AreEqual( d, b[0] ); + // a = new UInt32[]{ 0x12345678, 0x99AABBCC, 0x00000000 }; + // b = new UInt32[]{ 0x00000032 }; + // c = new UInt32[]{ 0xE1A4E302, 0x0312C650, 0x00000000 }; + // d = 0x14; + // BigInteger.big_divmod( a, b ); + // Assert.AreEqual( c, a ); + // Assert.AreEqual( d, b[0] ); - a = new UInt32[]{ 0xBBCCDDEE, 0x778899AA }; - b = new UInt32[]{ 0x00000010 }; - c = new UInt32[]{ 0xABBCCDDE, 0x0778899A }; - d = 0x0E; - BigInteger.big_divmod( a, b ); - Assert.AreEqual( c, a ); - Assert.AreEqual( d, b[0] ); + // a = new UInt32[]{ 0xBBCCDDEE, 0x778899AA }; + // b = new UInt32[]{ 0x00000010 }; + // c = new UInt32[]{ 0xABBCCDDE, 0x0778899A }; + // d = 0x0E; + // BigInteger.big_divmod( a, b ); + // Assert.AreEqual( c, a ); + // Assert.AreEqual( d, b[0] ); - } + // } [Test] public void Test_14_HL_Pow() { BigInteger a,b,c; - a = BigInteger.FromHexString("34"); + a = BigInteger.Parse("34", 16); b = a.Pow(7); - c = BigInteger.FromHexString("0EF5DD94000"); + c = BigInteger.Parse("0EF5DD94000", 16); Assert.AreEqual(c, b); - a = BigInteger.FromHexString("34"); + a = BigInteger.Parse("34", 16); b = a.Pow(5); - c = BigInteger.FromHexString("16A97400"); + c = BigInteger.Parse("16A97400", 16); Assert.AreEqual(c, b); } @@ -318,15 +319,27 @@ namespace ln.biginteger.test { BigInteger bi = BigInteger.Parse(hexdigits, 16); string rehexed = bi.ToString(16); - Assert.AreEqual(hexdigits, rehexed); + Assert.AreEqual(hexdigits.ToLower(), rehexed.ToLower()); } [Test] - public void PerformaceTests() + public void PerformaceTest_Mul() + { + for (int n=0;n<4;n++) + { + PT_Mul(4, 100000); + PT_Mul(8, 100000); + PT_Mul(16, 100000); + PT_Mul(32, 100000); + PT_Mul(64, 100000); + } + } + + public void PT_Mul(int bytes, int repeat) { RandomNumberGenerator rnd = RandomNumberGenerator.Create(); - byte[] rand = new byte[32]; + byte[] rand = new byte[bytes]; BigInteger[] bigIntegers = new BigInteger[16]; System.Numerics.BigInteger[] dotnetIntegers = new System.Numerics.BigInteger[bigIntegers.Length]; @@ -334,33 +347,104 @@ namespace ln.biginteger.test for (int n=0;n - { - public static readonly BigInteger Zero = new BigInteger(); - public static readonly BigInteger One = new BigInteger(1); - public static readonly BigInteger MinusOne = new BigInteger(-1); + public class BigInteger : IDisposable, IComparable + { + public static readonly BigInteger One = new BigInteger(); //1); + public static readonly BigInteger Zero = new BigInteger(); + public static readonly BigInteger MinusOne = new BigInteger();// -1); - UInt32[] bits; - public BigInteger() - { - this.bits = new UInt32[1]; - } - public BigInteger(UInt32 ui) - { - this.bits = new uint[]{ ui }; - } - public BigInteger(Int32 i) - { - this.bits = new uint[]{ (uint)i }; - } + private IntPtr _mpz; - public BigInteger(UInt64 i) - { - this.bits = new uint[]{ - (uint)(i & 0xFFFFFFFF), - (uint)(i >> 32), - 0 - }; - Reduce(); - } - public BigInteger(Int64 i) - { - this.bits = new uint[]{ - (uint)(i & 0xFFFFFFFF), - (uint)(i >> 32) - }; - Reduce(); - } - public BigInteger(UInt32[] rawbits) - { - bits = Reduce(rawbits); - } - - public BigInteger(byte[] rawbits) + public BigInteger() { - UInt32[] rints = new UInt32[(rawbits.Length + 3) >> 2]; - for (int n=0;n bits = Reduce(bits); - public static UInt32[] Reduce(UInt32[] bits) - { - Int32 rl = big_get_length(bits); - if (bits.Length > rl) - { - UInt32[] newbits = new uint[rl]; - Array.Copy(bits, newbits, rl); - bits = newbits; - } else { - bits = (UInt32[])bits.Clone(); - } - return bits; - } - - public static UInt32[] Extend(UInt32[] bits, int length) - { - UInt32[] extendedbits = new UInt32[length]; - Array.Copy(bits, extendedbits, bits.Length); - if ((bits[bits.Length-1] & 0x80000000)==0x80000000) - for (int n=bits.Length; n big_get_length(bits) << 2; - public Int32 GetBitLength() => big_get_bitlength(bits) << 5; - public Int32 GetLength() => big_get_length(bits); - - public int CompareTo(BigInteger other) => big_cmp(bits, bits.Length, other.bits, other.bits.Length); - - - public Int32 Sign { - get { - if ((bits.Length == 1) && (bits[0] == 0)) - return 0; - else if ((bits[bits.Length-1] & 0x80000000) != 0) - return -1; - else - return 1; - } - } - - public bool IsZero => ((bits.Length == 1) && (bits[0] == 0)); - - - public BigInteger Add(BigInteger bi2) - { - int tlength = max(big_get_bitlength(bits), big_get_bitlength(bi2.bits))+1; - UInt32[] r = new uint[(tlength + 31)>>5]; - Array.Copy(bits,r,bits.Length); - big_add(r, r.Length, bi2.bits, bi2.bits.Length); - return new BigInteger(r); - } - public BigInteger Sub(BigInteger bi2) - { - int tlength = max(big_get_bitlength(bits), big_get_bitlength(bi2.bits))+1; - UInt32[] r = new uint[(tlength + 31)>>5]; - Array.Copy(bits,r,bits.Length); - big_sub(r, r.Length, bi2.bits, bi2.bits.Length); - return new BigInteger(r); - } - - // public BigInteger Sub(BigInteger bi2) - // { - // UInt32[] r = new uint[max(bits.Length, bi2.bits.Length)+1]; - // Array.Copy(bits,r,bits.Length); - - // UInt32[] r2 = (uint[])bi2.bits.Clone(); - // big_twos(r2, r2.Length); - - // big_add(r, r.Length, r2, r2.Length); - // return new BigInteger(r); - // } - - public BigInteger Mul(BigInteger bi2) - { - int l = (big_get_bitlength(bits) + big_get_bitlength(bi2.bits) + 31) >> 5; - UInt32[] r = new UInt32[l]; - Array.Copy(bits, r, bits.Length); - big_smul(r, bi2.bits); - return new BigInteger(r); - } - - public BigInteger DivMod(BigInteger divisor,out BigInteger remainder) - { - UInt32[] quotient = (uint[])bits.Clone(); - UInt32[] d = (uint[])divisor.bits.Clone(); - - big_divmod( quotient, quotient.Length, d, d.Length); - - remainder = new BigInteger(d); - return new BigInteger(quotient); - } - public BigInteger Div(BigInteger divisor) - { - UInt32[] quotient = (uint[])bits.Clone(); - UInt32[] d = (uint[])divisor.bits.Clone(); - - big_divmod( quotient, quotient.Length, d, d.Length); - - return new BigInteger(quotient); - } - public BigInteger Mod(BigInteger divisor) - { - UInt32[] quotient = (uint[])bits.Clone(); - UInt32[] d = (uint[])divisor.bits.Clone(); - - big_divmod( quotient, quotient.Length, d, d.Length); - - return new BigInteger(d); - } - - - - public BigInteger Ones() - { - UInt32[] r = (UInt32[])bits.Clone(); - for (int n=0;n 2) - { - BigInteger result = One; - for (int i=31; i>=0; i--) - { - result *= result; - if ((n & (1<= 0; n--) - { - for (int m=3; m>=0; m--) - { - byte tb = (byte)((bits[n] >> (m*8)) & 0xff); - if (nonzero || (tb!=0)) - { - nonzero = true; - ms.WriteByte(tb); - } - } - } - - return ms.ToArray(); - } - - - public static BigInteger operator+(BigInteger bi1,BigInteger bi2) => bi1.Add(bi2); - public static BigInteger operator-(BigInteger bi1,BigInteger bi2) => bi1.Sub(bi2); - - public static BigInteger operator<<(BigInteger bi, int n) => bi.ShiftLeft(n); - public static BigInteger operator>>(BigInteger bi, int n) => bi.ShiftRight(n); - - public static BigInteger operator*(BigInteger bi1,BigInteger bi2) => bi1.Mul(bi2); - public static BigInteger operator/(BigInteger bi1,BigInteger bi2) => bi1.Div(bi2); - public static BigInteger operator%(BigInteger bi1,BigInteger bi2) => bi1.Mod(bi2); - //public static BigInteger operator^(BigInteger bi1,int exp) => bi1.Pow(exp); - - - - public static BigInteger Parse(string source) => Parse( source, 10 ); - public static BigInteger Parse(string source,int radix) - { - UInt32[] bits = new UInt32[ ((source.Length * 6) + 31) >> 5]; - big_parse(bits, bits.Length, source, 16); - return new BigInteger(bits); - } - - public static BigInteger FromHexString(string hex) - { - // hex = hex.ToUpper(); - // int length = (hex.Length+7) >> 3; - // UInt32[] bits = new uint[length]; - // int n; - - // for (n=hex.Length-8; n>=0; n -= 8) - // bits[length - 1 - (n >> 3)] = uint.Parse(hex.Substring(n,8), NumberStyles.HexNumber); - // if (n > -8) - // bits[length - 1] = uint.Parse(hex.Substring(0, 8 + n), NumberStyles.HexNumber); - - UInt32[] bits = new UInt32[ ((hex.Length * 6) + 31) >> 5]; - big_parse(bits, bits.Length, hex, 16); - return new BigInteger(bits); - } - - public string ToHexString() - { - byte[] bytes = ToByteArray(); - StringBuilder sb = new StringBuilder(); - foreach (byte by in bytes) - sb.AppendFormat("{0:X2}", by); - return sb.ToString(); - } - - public override string ToString() => ToHexString(); - public string ToString(int radix) - { - if (IsZero) - return "0"; - - UInt32[] r; - UInt32[] v = (UInt32[])bits.Clone(); - - StringBuilder sb = new StringBuilder(); - if (Sign < 0) - big_twos(v, v.Length); + _mpz = BigIntegerAllocator.Pop(); + mpz_init(_mpz); + } + public BigInteger(Int64 i64) :this() => mpz_set_si(_mpz, i64); + public BigInteger(UInt64 ui64) :this() => mpz_set_ui(_mpz, ui64); + public BigInteger(Int32 i32) :this() => mpz_set_si(_mpz, i32); + public BigInteger(UInt32 ui32) :this() => mpz_set_ui(_mpz, ui32); + private BigInteger(BigInteger src) :this() => mpz_set(_mpz, src._mpz); - while (big_cmp(v, v.Length, Zero.bits, Zero.bits.Length)!=0) - { - r = new UInt32[]{ (UInt32)radix }; - big_divmod(v, v.Length, r, r.Length); - if (r[0] < 10) - sb.Append((char)('0' + r[0])); - else - sb.Append((char)(55 + r[0]) ); - } - - if (Sign < 0) - sb.Append('-'); - - char[] chs = new char[sb.Length]; - sb.CopyTo(0,chs,0,sb.Length); - Array.Reverse(chs); - return new string(chs); + + private BigInteger(string source, int b) :this() + { + if (mpz_set_str( _mpz, source, b) != 0) + throw new ArgumentOutOfRangeException(nameof(source)); + } + + public static BigInteger Parse(string src) => new BigInteger(src, 0); + public static BigInteger Parse(string src, int b) => new BigInteger(src, b); + + public static BigInteger FromByteArray(byte[] bytes) + { + BigInteger bi = new BigInteger(); + mpz_import(bi._mpz, bytes.Length, -1, 1, -1, 0, bytes); + return bi; + } + public byte[] ToByteArray() + { + int countp = 0; + IntPtr bptr = mpz_export(null, ref countp, -1, 1, -1, 0, _mpz); + byte[] bytes = new byte[countp]; + Marshal.Copy(bptr, bytes, 0, countp); + return bytes; + } + public void TryWriteBytes(Span s,out int bytesWritten) + { + byte[] sb = ToByteArray(); + for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) + s[bytesWritten] = sb[bytesWritten]; + } + + public static BigInteger operator+(BigInteger op1, BigInteger op2) + { + BigInteger result = new BigInteger(); + mpz_add(result._mpz, op1._mpz, op2._mpz); + return result; + } + public static BigInteger operator+(BigInteger op1, ulong ul) + { + BigInteger result = new BigInteger(); + mpz_add_ui(result._mpz, op1._mpz, ul); + return result; + } + public static BigInteger operator-(BigInteger op1, BigInteger op2) + { + BigInteger result = new BigInteger(); + mpz_sub(result._mpz, op1._mpz, op2._mpz); + return result; + } + public static BigInteger operator-(BigInteger op1, ulong ul) + { + BigInteger result = new BigInteger(); + mpz_sub_ui(result._mpz, op1._mpz, ul); + return result; + } + + public static BigInteger operator-(BigInteger op1) + { + BigInteger result = new BigInteger(); + mpz_neg(result._mpz, op1._mpz); + return result; + } + + public static BigInteger operator*(BigInteger op1, BigInteger op2) + { + BigInteger result = new BigInteger(); + mpz_mul(result._mpz, op1._mpz, op2._mpz); + return result; + } + public static BigInteger operator*(BigInteger op1, long si) + { + BigInteger result = new BigInteger(); + mpz_mul_si(result._mpz, op1._mpz, si); + return result; + } + public static BigInteger operator*(BigInteger op1, ulong ui) + { + BigInteger result = new BigInteger(); + mpz_mul_ui(result._mpz, op1._mpz, ui); + return result; + } + + public static BigInteger operator/(BigInteger n, BigInteger d) + { + BigInteger result = new BigInteger(); + mpz_tdiv_q(result._mpz, n._mpz, d._mpz); + return result; + } + public static BigInteger operator%(BigInteger n, BigInteger d) + { + BigInteger result = new BigInteger(); + mpz_tdiv_r(result._mpz, n._mpz, d._mpz); + return result; + } + + public static bool operator==(BigInteger a, BigInteger b) => mpz_cmp(a._mpz, b._mpz) == 0; + public static bool operator!=(BigInteger a, BigInteger b) => mpz_cmp(a._mpz, b._mpz) != 0; + public static bool operator<(BigInteger a, BigInteger b) => mpz_cmp(a._mpz, b._mpz) < 0; + public static bool operator>(BigInteger a, BigInteger b) => mpz_cmp(a._mpz, b._mpz) > 0; + public static bool operator<(BigInteger a, long b) => mpz_cmp_si(a._mpz, b) < 0; + public static bool operator>(BigInteger a, long b) => mpz_cmp_si(a._mpz, b) > 0; + public static bool operator<(BigInteger a, int b) => mpz_cmp_si(a._mpz, b) < 0; + public static bool operator>(BigInteger a, int b) => mpz_cmp_si(a._mpz, b) > 0; + + public static BigInteger operator<<(BigInteger n, int b) + { + BigInteger result = new BigInteger(); + mpz_mul_2exp(result._mpz, n._mpz, (ulong)b ); + return result; + } + public static BigInteger operator>>(BigInteger n, int b) + { + BigInteger result = new BigInteger(); + mpz_tdiv_q_2exp(result._mpz, n._mpz, (ulong)b ); + return result; + } + + public static implicit operator BigInteger(int i) => new BigInteger(i); + public static implicit operator BigInteger(uint i) => new BigInteger(i); + public static implicit operator BigInteger(long i) => new BigInteger(i); + public static implicit operator BigInteger(ulong i) => new BigInteger(i); + + + + + public BigInteger Abs() + { + BigInteger result = new BigInteger(); + mpz_neg(result._mpz, _mpz); + return result; + } + public BigInteger DivMod(BigInteger d, out BigInteger r) + { + BigInteger q = new BigInteger(); + r = new BigInteger(); + mpz_tdiv_qr(q._mpz, d._mpz, _mpz, d._mpz); + return q; + } + public static BigInteger ModPow(BigInteger n, BigInteger e, BigInteger m) => n.ModPow(e,m); + public BigInteger ModPow(BigInteger e, BigInteger m) + { + BigInteger r = new BigInteger(); + mpz_powm(r._mpz, _mpz, e._mpz, m._mpz); + return r; + } + public static BigInteger ModPow(BigInteger n, ulong e, BigInteger m) => n.ModPow(e,m); + public BigInteger ModPow(ulong e, BigInteger m) + { + BigInteger r = new BigInteger(); + mpz_powm_ui(r._mpz, _mpz, e, m._mpz); + return r; + } + public static BigInteger Pow(BigInteger n, ulong e) => n.Pow(e); + public BigInteger Pow(ulong e) + { + BigInteger r = new BigInteger(); + mpz_pow_ui(r._mpz, _mpz, e); + return r; + } + + public int CompareTo(BigInteger other) => mpz_cmp(_mpz, other._mpz); + public int CompareTo(long other) => mpz_cmp_si(_mpz, other); + public int CompareTo(int other) => mpz_cmp_si(_mpz, other); + + + public override string ToString() => ToString(16); + + public string ToString(int b) + { + StringBuilder sb = new StringBuilder(4096); + mpz_get_str(sb, b, _mpz); + return sb.ToString(); + } + + public string ToString(int b, int length) + { + StringBuilder sb = new StringBuilder(4096); + mpz_get_str(sb, b, _mpz); + + StringBuilder sb2 = new StringBuilder(); + for (int n=0;n> 2]; - // ivalue = ivalue.Segment(0, v.Length << 2); - - // for (int n = 0; n < v.Length; n++) - // { - // v[n] = BitConverter.ToUInt32(ivalue, n << 2); - // } - // this.bits = BigIntMath.reduceSigned(v); - // } - // public BigInteger(BigInteger src) - // { - // this.bits = src.bits; - // } - - // public bool IsZero => BigIntMath.isZero(bits); - // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; - - // public int GetByteCount() => bits.Length * 4; - // public int GetBitLength() => BigIntMath.log2(bits); - - // public byte[] ToByteArray() => bits.GetBytes(); - - // public void TryWriteBytes(Span s,out int bytesWritten) - // { - // byte[] sb = ToByteArray(); - // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) - // s[bytesWritten] = sb[bytesWritten]; - // } - - // public int Log2(){ - // return BigIntMath.log2(bits); - // } - - // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) - // { - // BigInteger r = BigInteger.One; - // while (n-- > 0) - // { - // r *= i; - // r %= modulus; - // } - // return r; - // } - - // public BigInteger Pow(int n) - // { - // if (n == 0) - // { - // return One; - // } - // else if (n == 1) - // { - // return this; - // } - // else if (n > 1) - // { - // BigInteger result = this; - // n--; - // while ((n--) > 0) - // { - // result = (result * this); - // } - // return result; - // } - // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); - // } - - // public BigInteger Ones() - // { - // UInt32[] result = BigIntMath.ones(bits); - // return new BigInteger(result); - // } - - // public BigInteger Twos() - // { - // UInt32[] result = BigIntMath.twos(bits); - // return new BigInteger(result); - // } - - - // public static BigInteger fromHexString(string hex) => Parse(hex, 16); - - // public override string ToString() - // { - // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); - // } - - // public string ToString(string format) - // { - // if (format.Equals("X")) - // return ToString(16); - // return ToString(10); - // } - - // public string ToString(int radix) => ToString(radix, -1); - // public string ToString(int radix, int length) - // { - // if ((radix < 2) || (radix > 36)) - // throw new ArgumentOutOfRangeException(nameof(radix)); - - // uint[] v = bits.Segment(0); - // uint[] r = new uint[]{ (uint)radix }; - - // StringBuilder sb = new StringBuilder(); - - // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) - // { - // uint[] x = BigIntMath.sdivmod(ref v, r); - // if (v[0] < 10) - // sb.Append((char)('0' + v[0])); - // else - // sb.Append((char)(55 + v[0])); - // v = x; - // } - - // char[] result = new char[sb.Length]; - // sb.CopyTo(0, result, 0, sb.Length); - // Array.Reverse(result); - // return new string(result); - // } - - // public static BigInteger Parse(string input) => Parse(input, 10); - - // public static BigInteger Parse(string input, NumberStyles numberStyles) - // { - // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) - // return Parse(input, 16); - // return Parse(input, 10); - // } - - // public static BigInteger Parse(string input, int radix) - // { - // BigInteger v = 0; - // bool sign = false; - - // if (input[0] == '-') - // { - // sign = true; - // input = input.Substring(1); - // } - - // foreach (char d in input) - // { - // int n = d - '0'; - // if (n > 9) - // n = d - 55; - - // v *= radix; - // v += n; - // } - - // if (sign) - // v = v.Twos(); - - // return v; - // } - - - - // private BigInteger __op_add(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); - // } - // private BigInteger __op_sub(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); - // } - - // private int __op_cmp(BigInteger b) - // { - // return BigIntMath.cmp(bits, b.bits); - // } - - // private BigInteger __op_div(BigInteger b) - // { - // UInt32[] result = BigIntMath.sdiv(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mod(BigInteger b) - // { - // UInt32[] result = BigIntMath.smod(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mul(BigInteger b) - // { - // UInt32[] value = BigIntMath.smul(bits, b.bits); - // return new BigInteger(value); - // } - - // private BigInteger __op_new(uint[] value) - // { - // return new BigInteger(value); - // } - - // private BigInteger __op_shl(int b) - // { - // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); - // BigIntMath.shl(value,b); - // return new BigInteger(value); - // } - - // private BigInteger __op_shr(int b) - // { - // UInt32[] value = bits.Segment(0); - // BigIntMath.shr(value, b); - // return new BigInteger(value); - // } - - // public static implicit operator BigInteger(int i) - // { - // return new BigInteger(new UInt32[]{(UInt32)i}); - // } - - - - // public static BigInteger operator +(BigInteger a, BigInteger b) - // { - // return a.__op_add(b); - // } - // public static BigInteger operator -(BigInteger a, BigInteger b) - // { - // return a.__op_sub(b); - // } - // public static BigInteger operator *(BigInteger a, BigInteger b) - // { - // return a.__op_mul(b); - // } - - // public static BigInteger operator /(BigInteger a, BigInteger b) - // { - // return a.__op_div(b); - // } - // public static BigInteger operator %(BigInteger a, BigInteger b) - // { - // return a.__op_mod(b); - // } - - // public static bool operator <(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) < 0; - // } - // public static bool operator >(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) > 0; - // } - // public static bool operator ==(BigInteger a, BigInteger b) - // { - // if ((object)a == (object)b) - // { - // return true; - // } - // if (((object)a == null) || ((object)b == null)) - // { - // return false; - // } - // return a.__op_cmp(b) == 0; - // } - // public static bool operator !=(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) != 0; - // } - - // public static BigInteger operator <<(BigInteger a, int b) - // { - // return a.__op_shl(b); - // } - // public static BigInteger operator >>(BigInteger a, int b) - // { - // return a.__op_shr(b); - // } - - // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); - // public override int GetHashCode() => ToByteArray().CreateHashCode(); - - - - - - - - /*** Native Implementations ***/ - - - - - - - // public BigInteger(UInt32[] value) - // { - // this.bits = value; - // } - - - - - // public BigInteger(byte[] ivalue) - // { - // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; - // ivalue = ivalue.Segment(0, v.Length << 2); - - // for (int n = 0; n < v.Length; n++) - // { - // v[n] = BitConverter.ToUInt32(ivalue, n << 2); - // } - // this.bits = BigIntMath.reduceSigned(v); - // } - // public BigInteger(BigInteger src) - // { - // this.bits = src.bits; - // } - - // public bool IsZero => BigIntMath.isZero(bits); - // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; - - // public int GetByteCount() => bits.Length * 4; - // public int GetBitLength() => BigIntMath.log2(bits); - - // public byte[] ToByteArray() => bits.GetBytes(); - - // public void TryWriteBytes(Span s,out int bytesWritten) - // { - // byte[] sb = ToByteArray(); - // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) - // s[bytesWritten] = sb[bytesWritten]; - // } - - // public int Log2(){ - // return BigIntMath.log2(bits); - // } - - // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) - // { - // BigInteger r = BigInteger.One; - // while (n-- > 0) - // { - // r *= i; - // r %= modulus; - // } - // return r; - // } - - // public BigInteger Pow(int n) - // { - // if (n == 0) - // { - // return One; - // } - // else if (n == 1) - // { - // return this; - // } - // else if (n > 1) - // { - // BigInteger result = this; - // n--; - // while ((n--) > 0) - // { - // result = (result * this); - // } - // return result; - // } - // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); - // } - - // public BigInteger Ones() - // { - // UInt32[] result = BigIntMath.ones(bits); - // return new BigInteger(result); - // } - - // public BigInteger Twos() - // { - // UInt32[] result = BigIntMath.twos(bits); - // return new BigInteger(result); - // } - - - // public static BigInteger fromHexString(string hex) => Parse(hex, 16); - - // public override string ToString() - // { - // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); - // } - - // public string ToString(string format) - // { - // if (format.Equals("X")) - // return ToString(16); - // return ToString(10); - // } - - // public string ToString(int radix) => ToString(radix, -1); - // public string ToString(int radix, int length) - // { - // if ((radix < 2) || (radix > 36)) - // throw new ArgumentOutOfRangeException(nameof(radix)); - - // uint[] v = bits.Segment(0); - // uint[] r = new uint[]{ (uint)radix }; - - // StringBuilder sb = new StringBuilder(); - - // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) - // { - // uint[] x = BigIntMath.sdivmod(ref v, r); - // if (v[0] < 10) - // sb.Append((char)('0' + v[0])); - // else - // sb.Append((char)(55 + v[0])); - // v = x; - // } - - // char[] result = new char[sb.Length]; - // sb.CopyTo(0, result, 0, sb.Length); - // Array.Reverse(result); - // return new string(result); - // } - - // public static BigInteger Parse(string input) => Parse(input, 10); - - // public static BigInteger Parse(string input, NumberStyles numberStyles) - // { - // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) - // return Parse(input, 16); - // return Parse(input, 10); - // } - - // public static BigInteger Parse(string input, int radix) - // { - // BigInteger v = 0; - // bool sign = false; - - // if (input[0] == '-') - // { - // sign = true; - // input = input.Substring(1); - // } - - // foreach (char d in input) - // { - // int n = d - '0'; - // if (n > 9) - // n = d - 55; - - // v *= radix; - // v += n; - // } - - // if (sign) - // v = v.Twos(); - - // return v; - // } - - - - // private BigInteger __op_add(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); - // } - // private BigInteger __op_sub(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); - // } - - // private int __op_cmp(BigInteger b) - // { - // return BigIntMath.cmp(bits, b.bits); - // } - - // private BigInteger __op_div(BigInteger b) - // { - // UInt32[] result = BigIntMath.sdiv(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mod(BigInteger b) - // { - // UInt32[] result = BigIntMath.smod(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mul(BigInteger b) - // { - // UInt32[] value = BigIntMath.smul(bits, b.bits); - // return new BigInteger(value); - // } - - // private BigInteger __op_new(uint[] value) - // { - // return new BigInteger(value); - // } - - // private BigInteger __op_shl(int b) - // { - // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); - // BigIntMath.shl(value,b); - // return new BigInteger(value); - // } - - // private BigInteger __op_shr(int b) - // { - // UInt32[] value = bits.Segment(0); - // BigIntMath.shr(value, b); - // return new BigInteger(value); - // } - - // public static implicit operator BigInteger(int i) - // { - // return new BigInteger(new UInt32[]{(UInt32)i}); - // } - - - - // public static BigInteger operator +(BigInteger a, BigInteger b) - // { - // return a.__op_add(b); - // } - // public static BigInteger operator -(BigInteger a, BigInteger b) - // { - // return a.__op_sub(b); - // } - // public static BigInteger operator *(BigInteger a, BigInteger b) - // { - // return a.__op_mul(b); - // } - - // public static BigInteger operator /(BigInteger a, BigInteger b) - // { - // return a.__op_div(b); - // } - // public static BigInteger operator %(BigInteger a, BigInteger b) - // { - // return a.__op_mod(b); - // } - - // public static bool operator <(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) < 0; - // } - // public static bool operator >(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) > 0; - // } - // public static bool operator ==(BigInteger a, BigInteger b) - // { - // if ((object)a == (object)b) - // { - // return true; - // } - // if (((object)a == null) || ((object)b == null)) - // { - // return false; - // } - // return a.__op_cmp(b) == 0; - // } - // public static bool operator !=(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) != 0; - // } - - // public static BigInteger operator <<(BigInteger a, int b) - // { - // return a.__op_shl(b); - // } - // public static BigInteger operator >>(BigInteger a, int b) - // { - // return a.__op_shr(b); - // } - - // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); - // public override int GetHashCode() => ToByteArray().CreateHashCode(); - - - - - - - - /*** Native Implementations ***/ + public void Dispose() + { + if (_mpz != IntPtr.Zero) + { + mpz_clear(_mpz); + //Marshal.FreeHGlobal(_mpz); + BigIntegerAllocator.Push(_mpz); + _mpz = IntPtr.Zero; + } + } + + public override bool Equals(object obj) => (obj is BigInteger other) && (mpz_cmp(_mpz, other._mpz) == 0); + public override int GetHashCode() => base.GetHashCode(); + + public bool IsZero => (this == 0); + public int Sign { + get { + int c = mpz_cmp_si(_mpz, 0); + return (c < 0) ? -1 : (c > 0) ? 1 : 0; + } + } + + public int GetByteLength() => mpz_sizeinbase(_mpz, 2) >> 3; + public int GetBitLength() => mpz_sizeinbase(_mpz, 2); + + + [DllImport("gmp", EntryPoint = "__gmpz_init")] + static extern void mpz_init(IntPtr mpz); - - - // public BigInteger(UInt32[] value) - // { - // this.bits = value; - // } - - - - - // public BigInteger(byte[] ivalue) - // { - // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; - // ivalue = ivalue.Segment(0, v.Length << 2); - - // for (int n = 0; n < v.Length; n++) - // { - // v[n] = BitConverter.ToUInt32(ivalue, n << 2); - // } - // this.bits = BigIntMath.reduceSigned(v); - // } - // public BigInteger(BigInteger src) - // { - // this.bits = src.bits; - // } - - // public bool IsZero => BigIntMath.isZero(bits); - // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; - - // public int GetByteCount() => bits.Length * 4; - // public int GetBitLength() => BigIntMath.log2(bits); - - // public byte[] ToByteArray() => bits.GetBytes(); - - // public void TryWriteBytes(Span s,out int bytesWritten) - // { - // byte[] sb = ToByteArray(); - // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) - // s[bytesWritten] = sb[bytesWritten]; - // } - - // public int Log2(){ - // return BigIntMath.log2(bits); - // } - - // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) - // { - // BigInteger r = BigInteger.One; - // while (n-- > 0) - // { - // r *= i; - // r %= modulus; - // } - // return r; - // } - - // public BigInteger Pow(int n) - // { - // if (n == 0) - // { - // return One; - // } - // else if (n == 1) - // { - // return this; - // } - // else if (n > 1) - // { - // BigInteger result = this; - // n--; - // while ((n--) > 0) - // { - // result = (result * this); - // } - // return result; - // } - // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); - // } - - // public BigInteger Ones() - // { - // UInt32[] result = BigIntMath.ones(bits); - // return new BigInteger(result); - // } - - // public BigInteger Twos() - // { - // UInt32[] result = BigIntMath.twos(bits); - // return new BigInteger(result); - // } - - - // public static BigInteger fromHexString(string hex) => Parse(hex, 16); - - // public override string ToString() - // { - // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); - // } - - // public string ToString(string format) - // { - // if (format.Equals("X")) - // return ToString(16); - // return ToString(10); - // } - - // public string ToString(int radix) => ToString(radix, -1); - // public string ToString(int radix, int length) - // { - // if ((radix < 2) || (radix > 36)) - // throw new ArgumentOutOfRangeException(nameof(radix)); - - // uint[] v = bits.Segment(0); - // uint[] r = new uint[]{ (uint)radix }; - - // StringBuilder sb = new StringBuilder(); - - // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) - // { - // uint[] x = BigIntMath.sdivmod(ref v, r); - // if (v[0] < 10) - // sb.Append((char)('0' + v[0])); - // else - // sb.Append((char)(55 + v[0])); - // v = x; - // } - - // char[] result = new char[sb.Length]; - // sb.CopyTo(0, result, 0, sb.Length); - // Array.Reverse(result); - // return new string(result); - // } - - // public static BigInteger Parse(string input) => Parse(input, 10); - - // public static BigInteger Parse(string input, NumberStyles numberStyles) - // { - // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) - // return Parse(input, 16); - // return Parse(input, 10); - // } - - // public static BigInteger Parse(string input, int radix) - // { - // BigInteger v = 0; - // bool sign = false; - - // if (input[0] == '-') - // { - // sign = true; - // input = input.Substring(1); - // } - - // foreach (char d in input) - // { - // int n = d - '0'; - // if (n > 9) - // n = d - 55; - - // v *= radix; - // v += n; - // } - - // if (sign) - // v = v.Twos(); - - // return v; - // } - - - - // private BigInteger __op_add(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); - // } - // private BigInteger __op_sub(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); - // } - - // private int __op_cmp(BigInteger b) - // { - // return BigIntMath.cmp(bits, b.bits); - // } - - // private BigInteger __op_div(BigInteger b) - // { - // UInt32[] result = BigIntMath.sdiv(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mod(BigInteger b) - // { - // UInt32[] result = BigIntMath.smod(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mul(BigInteger b) - // { - // UInt32[] value = BigIntMath.smul(bits, b.bits); - // return new BigInteger(value); - // } - - // private BigInteger __op_new(uint[] value) - // { - // return new BigInteger(value); - // } - - // private BigInteger __op_shl(int b) - // { - // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); - // BigIntMath.shl(value,b); - // return new BigInteger(value); - // } - - // private BigInteger __op_shr(int b) - // { - // UInt32[] value = bits.Segment(0); - // BigIntMath.shr(value, b); - // return new BigInteger(value); - // } - - // public static implicit operator BigInteger(int i) - // { - // return new BigInteger(new UInt32[]{(UInt32)i}); - // } - - - - // public static BigInteger operator +(BigInteger a, BigInteger b) - // { - // return a.__op_add(b); - // } - // public static BigInteger operator -(BigInteger a, BigInteger b) - // { - // return a.__op_sub(b); - // } - // public static BigInteger operator *(BigInteger a, BigInteger b) - // { - // return a.__op_mul(b); - // } - - // public static BigInteger operator /(BigInteger a, BigInteger b) - // { - // return a.__op_div(b); - // } - // public static BigInteger operator %(BigInteger a, BigInteger b) - // { - // return a.__op_mod(b); - // } - - // public static bool operator <(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) < 0; - // } - // public static bool operator >(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) > 0; - // } - // public static bool operator ==(BigInteger a, BigInteger b) - // { - // if ((object)a == (object)b) - // { - // return true; - // } - // if (((object)a == null) || ((object)b == null)) - // { - // return false; - // } - // return a.__op_cmp(b) == 0; - // } - // public static bool operator !=(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) != 0; - // } - - // public static BigInteger operator <<(BigInteger a, int b) - // { - // return a.__op_shl(b); - // } - // public static BigInteger operator >>(BigInteger a, int b) - // { - // return a.__op_shr(b); - // } - - // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); - // public override int GetHashCode() => ToByteArray().CreateHashCode(); - - - - - - - - /*** Native Implementations ***/ - - - - - - - // public BigInteger(UInt32[] value) - // { - // this.bits = value; - // } - - - - - // public BigInteger(byte[] ivalue) - // { - // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; - // ivalue = ivalue.Segment(0, v.Length << 2); - - // for (int n = 0; n < v.Length; n++) - // { - // v[n] = BitConverter.ToUInt32(ivalue, n << 2); - // } - // this.bits = BigIntMath.reduceSigned(v); - // } - // public BigInteger(BigInteger src) - // { - // this.bits = src.bits; - // } - - // public bool IsZero => BigIntMath.isZero(bits); - // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; - - // public int GetByteCount() => bits.Length * 4; - // public int GetBitLength() => BigIntMath.log2(bits); - - // public byte[] ToByteArray() => bits.GetBytes(); - - // public void TryWriteBytes(Span s,out int bytesWritten) - // { - // byte[] sb = ToByteArray(); - // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) - // s[bytesWritten] = sb[bytesWritten]; - // } - - // public int Log2(){ - // return BigIntMath.log2(bits); - // } - - // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) - // { - // BigInteger r = BigInteger.One; - // while (n-- > 0) - // { - // r *= i; - // r %= modulus; - // } - // return r; - // } - - // public BigInteger Pow(int n) - // { - // if (n == 0) - // { - // return One; - // } - // else if (n == 1) - // { - // return this; - // } - // else if (n > 1) - // { - // BigInteger result = this; - // n--; - // while ((n--) > 0) - // { - // result = (result * this); - // } - // return result; - // } - // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); - // } - - // public BigInteger Ones() - // { - // UInt32[] result = BigIntMath.ones(bits); - // return new BigInteger(result); - // } - - // public BigInteger Twos() - // { - // UInt32[] result = BigIntMath.twos(bits); - // return new BigInteger(result); - // } - - - // public static BigInteger fromHexString(string hex) => Parse(hex, 16); - - // public override string ToString() - // { - // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); - // } - - // public string ToString(string format) - // { - // if (format.Equals("X")) - // return ToString(16); - // return ToString(10); - // } - - // public string ToString(int radix) => ToString(radix, -1); - // public string ToString(int radix, int length) - // { - // if ((radix < 2) || (radix > 36)) - // throw new ArgumentOutOfRangeException(nameof(radix)); - - // uint[] v = bits.Segment(0); - // uint[] r = new uint[]{ (uint)radix }; - - // StringBuilder sb = new StringBuilder(); - - // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) - // { - // uint[] x = BigIntMath.sdivmod(ref v, r); - // if (v[0] < 10) - // sb.Append((char)('0' + v[0])); - // else - // sb.Append((char)(55 + v[0])); - // v = x; - // } - - // char[] result = new char[sb.Length]; - // sb.CopyTo(0, result, 0, sb.Length); - // Array.Reverse(result); - // return new string(result); - // } - - // public static BigInteger Parse(string input) => Parse(input, 10); - - // public static BigInteger Parse(string input, NumberStyles numberStyles) - // { - // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) - // return Parse(input, 16); - // return Parse(input, 10); - // } - - // public static BigInteger Parse(string input, int radix) - // { - // BigInteger v = 0; - // bool sign = false; - - // if (input[0] == '-') - // { - // sign = true; - // input = input.Substring(1); - // } - - // foreach (char d in input) - // { - // int n = d - '0'; - // if (n > 9) - // n = d - 55; - - // v *= radix; - // v += n; - // } - - // if (sign) - // v = v.Twos(); - - // return v; - // } - - - - // private BigInteger __op_add(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); - // } - // private BigInteger __op_sub(BigInteger b) - // { - // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; - // UInt32[] v = BigIntMath.extendSigned(bits, width); - // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); - // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); - // } - - // private int __op_cmp(BigInteger b) - // { - // return BigIntMath.cmp(bits, b.bits); - // } - - // private BigInteger __op_div(BigInteger b) - // { - // UInt32[] result = BigIntMath.sdiv(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mod(BigInteger b) - // { - // UInt32[] result = BigIntMath.smod(bits, b.bits); - // return new BigInteger(result); - // } - - // private BigInteger __op_mul(BigInteger b) - // { - // UInt32[] value = BigIntMath.smul(bits, b.bits); - // return new BigInteger(value); - // } - - // private BigInteger __op_new(uint[] value) - // { - // return new BigInteger(value); - // } - - // private BigInteger __op_shl(int b) - // { - // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); - // BigIntMath.shl(value,b); - // return new BigInteger(value); - // } - - // private BigInteger __op_shr(int b) - // { - // UInt32[] value = bits.Segment(0); - // BigIntMath.shr(value, b); - // return new BigInteger(value); - // } - - // public static implicit operator BigInteger(int i) - // { - // return new BigInteger(new UInt32[]{(UInt32)i}); - // } - - - - // public static BigInteger operator +(BigInteger a, BigInteger b) - // { - // return a.__op_add(b); - // } - // public static BigInteger operator -(BigInteger a, BigInteger b) - // { - // return a.__op_sub(b); - // } - // public static BigInteger operator *(BigInteger a, BigInteger b) - // { - // return a.__op_mul(b); - // } - - // public static BigInteger operator /(BigInteger a, BigInteger b) - // { - // return a.__op_div(b); - // } - // public static BigInteger operator %(BigInteger a, BigInteger b) - // { - // return a.__op_mod(b); - // } - - // public static bool operator <(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) < 0; - // } - // public static bool operator >(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) > 0; - // } - // public static bool operator ==(BigInteger a, BigInteger b) - // { - // if ((object)a == (object)b) - // { - // return true; - // } - // if (((object)a == null) || ((object)b == null)) - // { - // return false; - // } - // return a.__op_cmp(b) == 0; - // } - // public static bool operator !=(BigInteger a, BigInteger b) - // { - // return a.__op_cmp(b) != 0; - // } - - // public static BigInteger operator <<(BigInteger a, int b) - // { - // return a.__op_shl(b); - // } - // public static BigInteger operator >>(BigInteger a, int b) - // { - // return a.__op_shr(b); - // } - - // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); - // public override int GetHashCode() => ToByteArray().CreateHashCode(); - - - - - - - - /*** Native Implementations ***/ - [DllImport("bigint")] - public static extern Int32 big_get_length(UInt32[] bits, Int32 length); - public static Int32 big_get_length(UInt32[] bits) => big_get_length(bits, bits.Length); - - /*** - big_get_bitlength() returns the number of bits needed to represent this value including the sign bit - ***/ - [DllImport("bigint")] - public static extern Int32 big_get_bitlength(UInt32[] bits, Int32 length); - public static Int32 big_get_bitlength(UInt32[] bits) => big_get_bitlength( bits, bits.Length ); - - [DllImport("bigint")] - public static extern Int32 big_parse(UInt32[] op, Int32 length, String source, Int32 radix); - // [DllImport("bigint")] - // public static extern Int32 big_log2(UInt32[] bits, Int32 length); - - [DllImport("bigint")] - public static extern void big_add(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); - public static void big_add(UInt32[] op_a, UInt32[] op_b) => big_add( op_a, op_a.Length, op_b, op_b.Length ); - [DllImport("bigint")] - public static extern void big_sub(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); - public static void big_sub(UInt32[] op_a, UInt32[] op_b) => big_sub( op_a, op_a.Length, op_b, op_b.Length ); - - [DllImport("bigint")] - public static extern void big_twos(UInt32[] bits, Int32 length); - [DllImport("bigint")] - public static extern void big_shl(UInt32[] bits, Int32 length, Int32 n); - [DllImport("bigint")] - public static extern void big_shr(UInt32[] bits, Int32 length, Int32 n); - - - [DllImport("bigint")] - public static extern Int32 big_cmp(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); - public static Int32 big_cmp(UInt32[] op_a, UInt32[] op_b) => big_cmp(op_a, op_a.Length, op_b, op_b.Length); - - - [DllImport("bigint")] - public static extern void big_smul(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); - public static void big_smul(UInt32[] op_a, UInt32[] op_b) => big_smul( op_a, op_a.Length, op_b, op_b.Length); - [DllImport("bigint")] - public static extern void big_divmod(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); - public static void big_divmod(UInt32[] op_a, UInt32[] op_b) => big_divmod( op_a, op_a.Length, op_b, op_b.Length); - - - private int max(int a,int b) => a > b ? a : b; + [DllImport("gmp", EntryPoint = "__gmpz_clear")] + static extern void mpz_clear(IntPtr mpz); + + [DllImport("gmp", EntryPoint = "__gmpz_set")] + static extern void mpz_set(IntPtr mpz_dst, IntPtr mpz_src); + [DllImport("gmp", EntryPoint = "__gmpz_set_ui")] + static extern void mpz_set_ui(IntPtr mpz_dst, UInt64 src); + [DllImport("gmp", EntryPoint = "__gmpz_set_si")] + static extern void mpz_set_si(IntPtr mpz_dst, Int64 src); + + [DllImport("gmp", CharSet = CharSet.Auto, EntryPoint = "__gmpz_set_str")] + static extern int mpz_set_str(IntPtr mpz_dst, string src, int b); + [DllImport("gmp", CharSet = CharSet.Auto, EntryPoint = "__gmpz_get_str")] + static extern IntPtr mpz_get_str (StringBuilder stringBuilder, int b, IntPtr mpz); + + [DllImport("gmp", EntryPoint = "__gmpz_add")] + static extern void mpz_add(IntPtr dst, IntPtr op1, IntPtr op2); + [DllImport("gmp", EntryPoint = "__gmpz_add_ui")] + static extern void mpz_add_ui(IntPtr dst, IntPtr op1, ulong op2); + + [DllImport("gmp", EntryPoint = "__gmpz_sub")] + static extern void mpz_sub(IntPtr dst, IntPtr op1, IntPtr op2); + [DllImport("gmp", EntryPoint = "__gmpz_sub_ui")] + static extern void mpz_sub_ui(IntPtr dst, IntPtr op1, ulong op2); + + [DllImport("gmp", EntryPoint = "__gmpz_neg")] + static extern void mpz_neg(IntPtr dst, IntPtr op1); + [DllImport("gmp", EntryPoint = "__gmpz_abs")] + static extern void mpz_abs(IntPtr dst, IntPtr op1); + + [DllImport("gmp", EntryPoint = "__gmpz_mul")] + static extern void mpz_mul(IntPtr dst, IntPtr op1, IntPtr op2); + [DllImport("gmp", EntryPoint = "__gmpz_mul_2exp")] + static extern void mpz_mul_2exp(IntPtr dst, IntPtr op1, ulong op2); + [DllImport("gmp", EntryPoint = "__gmpz_mul_si")] + static extern void mpz_mul_si(IntPtr dst, IntPtr op1, long sl); + [DllImport("gmp", EntryPoint = "__gmpz_mul_ui")] + static extern void mpz_mul_ui(IntPtr dst, IntPtr op1, ulong ul); + + [DllImport("gmp", EntryPoint = "__gmpz_mod")] + static extern void mpz_mod(IntPtr dst, IntPtr op1, IntPtr op2 ); + + [DllImport("gmp", EntryPoint = "__gmpz_tdiv_q")] + static extern void mpz_tdiv_q(IntPtr q, IntPtr n, IntPtr d ); + [DllImport("gmp", EntryPoint = "__gmpz_tdiv_r")] + static extern void mpz_tdiv_r(IntPtr r, IntPtr n, IntPtr d ); + [DllImport("gmp", EntryPoint = "__gmpz_tdiv_qr")] + static extern void mpz_tdiv_qr(IntPtr q, IntPtr r, IntPtr n, IntPtr d ); + [DllImport("gmp", EntryPoint = "__gmpz_tdiv_q_2exp")] + static extern void mpz_tdiv_q_2exp(IntPtr q, IntPtr n, ulong b ); + + [DllImport("gmp", EntryPoint = "__gmpz_powm")] + static extern void mpz_powm(IntPtr dst, IntPtr b, IntPtr exp, IntPtr mod ); + [DllImport("gmp", EntryPoint = "__gmpz_powm_ui")] + static extern void mpz_powm_ui(IntPtr dst, IntPtr b, ulong exp, IntPtr mod ); + + [DllImport("gmp", EntryPoint = "__gmpz_pow_ui")] + static extern void mpz_pow_ui(IntPtr dst, IntPtr b, ulong ui ); + + [DllImport("gmp", EntryPoint = "__gmpz_cmp")] + static extern Int32 mpz_cmp(IntPtr a, IntPtr b ); + [DllImport("gmp", EntryPoint = "__gmpz_cmp_ui")] + static extern Int32 mpz_cmp_ui(IntPtr a, ulong b ); + [DllImport("gmp", EntryPoint = "__gmpz_cmp_si")] + static extern Int32 mpz_cmp_si(IntPtr a, long b ); + + [DllImport("gmp", EntryPoint = "__gmpz_import")] + static extern void mpz_import(IntPtr dst, int count, int order, int size, int endian, int nails, byte[] buffer); + [DllImport("gmp", EntryPoint = "__gmpz_export")] + static extern IntPtr mpz_export(byte[] buffer, ref int countp, int order, int size, int endian, int nails, IntPtr src); + + [DllImport("gmp", EntryPoint = "__gmpz_sizeinbase")] + static extern Int32 mpz_sizeinbase(IntPtr a, int b); + + static BigInteger() + { + NativeLibrary.SetDllImportResolver(typeof(BigInteger).Assembly, ResolveLibrary); + } + + static IntPtr ResolveLibrary(string libraryName, Assembly assembly, DllImportSearchPath? searchPath) + { + IntPtr libHandle = IntPtr.Zero; + foreach (string pat in libraryPatterns) + { + if (NativeLibrary.TryLoad(String.Format(pat, libraryName), out libHandle)) + return libHandle; + } + throw new FileNotFoundException(libraryName); + } + + static string[] libraryPatterns = new string[]{ + "x32/lib{0}.so", + "x32/lib{0}.dll", + "x32/{0}.dll", + "x32/lib{0}.dylib", + "x64/lib{0}.so", + "x64/lib{0}.dll", + "x64/{0}.dll", + "x64/lib{0}.dylib", + }; } + + + + // public class BigInteger : IComparable + // { + // public static readonly BigInteger Zero = 0; + // public static readonly BigInteger One = 1; + // public static readonly BigInteger MinusOne = -1; + + // private UInt32[] bits; + // private Int32 _length; + // private Int32 _sign; + + + // public Int32 Sign => _sign; + // public bool IsZero => (bits == null); + + + // private BigInteger(int sign, UInt32[] bits) + // { + // if (sign < 0) + // this._sign = -1; + // else if (sign > 0) + // this._sign = 1; + + // this.bits = bits; + // } + + // private void Reduce() { bits = Reduce(bits); _length = bits.Length; } + // public static UInt32[] Reduce(UInt32[] bits) + // { + // Int32 rl = managed_get_length(bits); + // if (bits.Length > rl) + // { + // UInt32[] newbits = new uint[rl]; + // Array.Copy(bits, newbits, rl); + // bits = newbits; + // } else { + // bits = (UInt32[])bits.Clone(); + // } + // return bits; + // } + + // public static UInt32[] Extend(UInt32[] bits, int length) + // { + // UInt32[] extendedbits = new UInt32[length]; + // Array.Copy(bits, extendedbits, bits.Length); + // if ((bits[bits.Length-1] & 0x80000000)==0x80000000) + // for (int n=bits.Length; n big_get_length(bits) << 2; + // public Int32 GetBitLength() => big_get_bitlength(bits) << 5; + // public Int32 GetLength() => big_get_length(bits); + + // public int CompareTo(BigInteger other) + // { + // if (_sign == other._sign) + // { + + // } else { + // return _sign - other._sign; + // } + // } + + // private bool TestZero(UInt32[] bits) + // { + // if (bits == null) + // return true; + + // foreach (uint ui in bits) + // if (ui > 0) + // return false; + // return true; + // } + + + // public BigInteger Add(BigInteger bi2) + // { + // // if ((bits.Length == 1) && (bi2.bits.Length == 1)) + // // return new BigInteger(bits[0]+bi2.bits[0]); + + // int tlength = max(_length, bi2._length) + 1; + // UInt32[] r = new uint[tlength]; + // Array.Copy(bits,r,bits.Length); + // big_add(r, bi2.bits); + // return new BigInteger(r); + // } + // public BigInteger MAdd(BigInteger bi2) + // { + // int tlength = max(_length, bi2._length) + 1; + // UInt32[] r = new uint[tlength]; + // Array.Copy(bits,r,bits.Length); + // managed_add(r, bi2.bits); + // return new BigInteger(r); + // } + + + // public BigInteger Sub(BigInteger bi2) + // { + // int tlength = max(big_get_bitlength(bits), big_get_bitlength(bi2.bits))+1; + // UInt32[] r = new uint[(tlength + 31)>>5]; + // Array.Copy(bits,r,bits.Length); + // big_sub(r, r.Length, bi2.bits, bi2.bits.Length); + // return new BigInteger(r); + // } + + // // public BigInteger Sub(BigInteger bi2) + // // { + // // UInt32[] r = new uint[max(bits.Length, bi2.bits.Length)+1]; + // // Array.Copy(bits,r,bits.Length); + + // // UInt32[] r2 = (uint[])bi2.bits.Clone(); + // // big_twos(r2, r2.Length); + + // // big_add(r, r.Length, r2, r2.Length); + // // return new BigInteger(r); + // // } + + // public BigInteger Mul(BigInteger bi2) + // { + // int l = (big_get_bitlength(bits) + big_get_bitlength(bi2.bits) + 31) >> 5; + // UInt32[] r = new UInt32[l]; + // Array.Copy(bits, r, bits.Length); + // big_smul(r, bi2.bits); + // return new BigInteger(r); + // } + // public BigInteger MMul(BigInteger bi2) + // { + // int l = (big_get_bitlength(bits) + big_get_bitlength(bi2.bits) + 31) >> 5; + // UInt32[] r = new UInt32[l]; + // Array.Copy(bits, r, bits.Length); + // managed_smul(r, bi2.bits); + // return new BigInteger(r); + // } + + // public BigInteger DivMod(BigInteger divisor,out BigInteger remainder) + // { + // UInt32[] quotient = (uint[])bits.Clone(); + // UInt32[] d = (uint[])divisor.bits.Clone(); + + // big_divmod( quotient, quotient.Length, d, d.Length); + + // remainder = new BigInteger(d); + // return new BigInteger(quotient); + // } + // public BigInteger Div(BigInteger divisor) + // { + // UInt32[] quotient = (uint[])bits.Clone(); + // UInt32[] d = (uint[])divisor.bits.Clone(); + + // big_divmod( quotient, quotient.Length, d, d.Length); + + // return new BigInteger(quotient); + // } + // public BigInteger Mod(BigInteger divisor) + // { + // UInt32[] quotient = (uint[])bits.Clone(); + // UInt32[] d = (uint[])divisor.bits.Clone(); + + // big_divmod( quotient, quotient.Length, d, d.Length); + + // return new BigInteger(d); + // } + + + + // public BigInteger Ones() + // { + // UInt32[] r = (UInt32[])bits.Clone(); + // for (int n=0;n 2) + // { + // BigInteger result = One; + // for (int i=31; i>=0; i--) + // { + // result *= result; + // if ((n & (1<= 0; n--) + // { + // for (int m=3; m>=0; m--) + // { + // byte tb = (byte)((bits[n] >> (m*8)) & 0xff); + // if (nonzero || (tb!=0)) + // { + // nonzero = true; + // ms.WriteByte(tb); + // } + // } + // } + + // return ms.ToArray(); + // } + + + // public static implicit operator BigInteger(int i) + // { + // if (i > 0) + // return new BigInteger(1, new UInt32[]{ (uint)i} ); + // if (i < 0) + // return new BigInteger(-1, new uint[]{ (uint)-i}); + + // return new BigInteger(0, null); + // } + // public static implicit operator BigInteger(uint i) + // { + // if (i > 0) + // return new BigInteger(1, new UInt32[]{ (uint)i} ); + // return new BigInteger(0, null); + // } + + // public static BigInteger operator+(BigInteger bi1,BigInteger bi2) => bi1.Add(bi2); + // public static BigInteger operator-(BigInteger bi1,BigInteger bi2) => bi1.Sub(bi2); + + // public static BigInteger operator<<(BigInteger bi, int n) => bi.ShiftLeft(n); + // public static BigInteger operator>>(BigInteger bi, int n) => bi.ShiftRight(n); + + // public static BigInteger operator*(BigInteger bi1,BigInteger bi2) => bi1.Mul(bi2); + // public static BigInteger operator/(BigInteger bi1,BigInteger bi2) => bi1.Div(bi2); + // public static BigInteger operator%(BigInteger bi1,BigInteger bi2) => bi1.Mod(bi2); + // //public static BigInteger operator^(BigInteger bi1,int exp) => bi1.Pow(exp); + + + + // public static BigInteger Parse(string source) => Parse( source, 10 ); + // public static BigInteger Parse(string source,int radix) + // { + // UInt32[] bits = new UInt32[ ((source.Length * 6) + 31) >> 5]; + // big_parse(bits, bits.Length, source, 16); + // return new BigInteger(bits); + // } + + // public static BigInteger FromHexString(string hex) + // { + // // hex = hex.ToUpper(); + // // int length = (hex.Length+7) >> 3; + // // UInt32[] bits = new uint[length]; + // // int n; + + // // for (n=hex.Length-8; n>=0; n -= 8) + // // bits[length - 1 - (n >> 3)] = uint.Parse(hex.Substring(n,8), NumberStyles.HexNumber); + // // if (n > -8) + // // bits[length - 1] = uint.Parse(hex.Substring(0, 8 + n), NumberStyles.HexNumber); + + // UInt32[] bits = new UInt32[ ((hex.Length * 6) + 31) >> 5]; + // big_parse(bits, bits.Length, hex, 16); + // return new BigInteger(bits); + // } + + // public string ToHexString() + // { + // byte[] bytes = ToByteArray(); + // StringBuilder sb = new StringBuilder(); + // foreach (byte by in bytes) + // sb.AppendFormat("{0:X2}", by); + // return sb.ToString(); + // } + + // public override string ToString() => ToHexString(); + // public string ToString(int radix) + // { + // if (IsZero) + // return "0"; + + // UInt32[] r; + // UInt32[] v = (UInt32[])bits.Clone(); + + // StringBuilder sb = new StringBuilder(); + + // if (Sign < 0) + // big_twos(v, v.Length); + + // while (big_cmp(v, v.Length, Zero.bits, Zero.bits.Length)!=0) + // { + // r = new UInt32[]{ (UInt32)radix }; + // big_divmod(v, v.Length, r, r.Length); + // if (r[0] < 10) + // sb.Append((char)('0' + r[0])); + // else + // sb.Append((char)(55 + r[0]) ); + // } + + // if (Sign < 0) + // sb.Append('-'); + + // char[] chs = new char[sb.Length]; + // sb.CopyTo(0,chs,0,sb.Length); + // Array.Reverse(chs); + // return new string(chs); + // } + + + // // public BigInteger(UInt32[] value) + // // { + // // this.bits = value; + // // } + + + + + // // public BigInteger(byte[] ivalue) + // // { + // // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; + // // ivalue = ivalue.Segment(0, v.Length << 2); + + // // for (int n = 0; n < v.Length; n++) + // // { + // // v[n] = BitConverter.ToUInt32(ivalue, n << 2); + // // } + // // this.bits = BigIntMath.reduceSigned(v); + // // } + // // public BigInteger(BigInteger src) + // // { + // // this.bits = src.bits; + // // } + + // // public bool IsZero => BigIntMath.isZero(bits); + // // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; + + // // public int GetByteCount() => bits.Length * 4; + // // public int GetBitLength() => BigIntMath.log2(bits); + + // // public byte[] ToByteArray() => bits.GetBytes(); + + // // public void TryWriteBytes(Span s,out int bytesWritten) + // // { + // // byte[] sb = ToByteArray(); + // // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) + // // s[bytesWritten] = sb[bytesWritten]; + // // } + + // // public int Log2(){ + // // return BigIntMath.log2(bits); + // // } + + // // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) + // // { + // // BigInteger r = BigInteger.One; + // // while (n-- > 0) + // // { + // // r *= i; + // // r %= modulus; + // // } + // // return r; + // // } + + // // public BigInteger Pow(int n) + // // { + // // if (n == 0) + // // { + // // return One; + // // } + // // else if (n == 1) + // // { + // // return this; + // // } + // // else if (n > 1) + // // { + // // BigInteger result = this; + // // n--; + // // while ((n--) > 0) + // // { + // // result = (result * this); + // // } + // // return result; + // // } + // // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); + // // } + + // // public BigInteger Ones() + // // { + // // UInt32[] result = BigIntMath.ones(bits); + // // return new BigInteger(result); + // // } + + // // public BigInteger Twos() + // // { + // // UInt32[] result = BigIntMath.twos(bits); + // // return new BigInteger(result); + // // } + + + // // public static BigInteger fromHexString(string hex) => Parse(hex, 16); + + // // public override string ToString() + // // { + // // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); + // // } + + // // public string ToString(string format) + // // { + // // if (format.Equals("X")) + // // return ToString(16); + // // return ToString(10); + // // } + + // // public string ToString(int radix) => ToString(radix, -1); + // // public string ToString(int radix, int length) + // // { + // // if ((radix < 2) || (radix > 36)) + // // throw new ArgumentOutOfRangeException(nameof(radix)); + + // // uint[] v = bits.Segment(0); + // // uint[] r = new uint[]{ (uint)radix }; + + // // StringBuilder sb = new StringBuilder(); + + // // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) + // // { + // // uint[] x = BigIntMath.sdivmod(ref v, r); + // // if (v[0] < 10) + // // sb.Append((char)('0' + v[0])); + // // else + // // sb.Append((char)(55 + v[0])); + // // v = x; + // // } + + // // char[] result = new char[sb.Length]; + // // sb.CopyTo(0, result, 0, sb.Length); + // // Array.Reverse(result); + // // return new string(result); + // // } + + // // public static BigInteger Parse(string input) => Parse(input, 10); + + // // public static BigInteger Parse(string input, NumberStyles numberStyles) + // // { + // // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) + // // return Parse(input, 16); + // // return Parse(input, 10); + // // } + + // // public static BigInteger Parse(string input, int radix) + // // { + // // BigInteger v = 0; + // // bool sign = false; + + // // if (input[0] == '-') + // // { + // // sign = true; + // // input = input.Substring(1); + // // } + + // // foreach (char d in input) + // // { + // // int n = d - '0'; + // // if (n > 9) + // // n = d - 55; + + // // v *= radix; + // // v += n; + // // } + + // // if (sign) + // // v = v.Twos(); + + // // return v; + // // } + + + + // // private BigInteger __op_add(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); + // // } + // // private BigInteger __op_sub(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); + // // } + + // // private int __op_cmp(BigInteger b) + // // { + // // return BigIntMath.cmp(bits, b.bits); + // // } + + // // private BigInteger __op_div(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.sdiv(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mod(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.smod(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mul(BigInteger b) + // // { + // // UInt32[] value = BigIntMath.smul(bits, b.bits); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_new(uint[] value) + // // { + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shl(int b) + // // { + // // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); + // // BigIntMath.shl(value,b); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shr(int b) + // // { + // // UInt32[] value = bits.Segment(0); + // // BigIntMath.shr(value, b); + // // return new BigInteger(value); + // // } + + // // public static implicit operator BigInteger(int i) + // // { + // // return new BigInteger(new UInt32[]{(UInt32)i}); + // // } + + + + // // public static BigInteger operator +(BigInteger a, BigInteger b) + // // { + // // return a.__op_add(b); + // // } + // // public static BigInteger operator -(BigInteger a, BigInteger b) + // // { + // // return a.__op_sub(b); + // // } + // // public static BigInteger operator *(BigInteger a, BigInteger b) + // // { + // // return a.__op_mul(b); + // // } + + // // public static BigInteger operator /(BigInteger a, BigInteger b) + // // { + // // return a.__op_div(b); + // // } + // // public static BigInteger operator %(BigInteger a, BigInteger b) + // // { + // // return a.__op_mod(b); + // // } + + // // public static bool operator <(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) < 0; + // // } + // // public static bool operator >(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) > 0; + // // } + // // public static bool operator ==(BigInteger a, BigInteger b) + // // { + // // if ((object)a == (object)b) + // // { + // // return true; + // // } + // // if (((object)a == null) || ((object)b == null)) + // // { + // // return false; + // // } + // // return a.__op_cmp(b) == 0; + // // } + // // public static bool operator !=(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) != 0; + // // } + + // // public static BigInteger operator <<(BigInteger a, int b) + // // { + // // return a.__op_shl(b); + // // } + // // public static BigInteger operator >>(BigInteger a, int b) + // // { + // // return a.__op_shr(b); + // // } + + // // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); + // // public override int GetHashCode() => ToByteArray().CreateHashCode(); + + + + + + + + // /*** Native Implementations ***/ + + + + + + + // // public BigInteger(UInt32[] value) + // // { + // // this.bits = value; + // // } + + + + + // // public BigInteger(byte[] ivalue) + // // { + // // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; + // // ivalue = ivalue.Segment(0, v.Length << 2); + + // // for (int n = 0; n < v.Length; n++) + // // { + // // v[n] = BitConverter.ToUInt32(ivalue, n << 2); + // // } + // // this.bits = BigIntMath.reduceSigned(v); + // // } + // // public BigInteger(BigInteger src) + // // { + // // this.bits = src.bits; + // // } + + // // public bool IsZero => BigIntMath.isZero(bits); + // // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; + + // // public int GetByteCount() => bits.Length * 4; + // // public int GetBitLength() => BigIntMath.log2(bits); + + // // public byte[] ToByteArray() => bits.GetBytes(); + + // // public void TryWriteBytes(Span s,out int bytesWritten) + // // { + // // byte[] sb = ToByteArray(); + // // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) + // // s[bytesWritten] = sb[bytesWritten]; + // // } + + // // public int Log2(){ + // // return BigIntMath.log2(bits); + // // } + + // // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) + // // { + // // BigInteger r = BigInteger.One; + // // while (n-- > 0) + // // { + // // r *= i; + // // r %= modulus; + // // } + // // return r; + // // } + + // // public BigInteger Pow(int n) + // // { + // // if (n == 0) + // // { + // // return One; + // // } + // // else if (n == 1) + // // { + // // return this; + // // } + // // else if (n > 1) + // // { + // // BigInteger result = this; + // // n--; + // // while ((n--) > 0) + // // { + // // result = (result * this); + // // } + // // return result; + // // } + // // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); + // // } + + // // public BigInteger Ones() + // // { + // // UInt32[] result = BigIntMath.ones(bits); + // // return new BigInteger(result); + // // } + + // // public BigInteger Twos() + // // { + // // UInt32[] result = BigIntMath.twos(bits); + // // return new BigInteger(result); + // // } + + + // // public static BigInteger fromHexString(string hex) => Parse(hex, 16); + + // // public override string ToString() + // // { + // // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); + // // } + + // // public string ToString(string format) + // // { + // // if (format.Equals("X")) + // // return ToString(16); + // // return ToString(10); + // // } + + // // public string ToString(int radix) => ToString(radix, -1); + // // public string ToString(int radix, int length) + // // { + // // if ((radix < 2) || (radix > 36)) + // // throw new ArgumentOutOfRangeException(nameof(radix)); + + // // uint[] v = bits.Segment(0); + // // uint[] r = new uint[]{ (uint)radix }; + + // // StringBuilder sb = new StringBuilder(); + + // // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) + // // { + // // uint[] x = BigIntMath.sdivmod(ref v, r); + // // if (v[0] < 10) + // // sb.Append((char)('0' + v[0])); + // // else + // // sb.Append((char)(55 + v[0])); + // // v = x; + // // } + + // // char[] result = new char[sb.Length]; + // // sb.CopyTo(0, result, 0, sb.Length); + // // Array.Reverse(result); + // // return new string(result); + // // } + + // // public static BigInteger Parse(string input) => Parse(input, 10); + + // // public static BigInteger Parse(string input, NumberStyles numberStyles) + // // { + // // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) + // // return Parse(input, 16); + // // return Parse(input, 10); + // // } + + // // public static BigInteger Parse(string input, int radix) + // // { + // // BigInteger v = 0; + // // bool sign = false; + + // // if (input[0] == '-') + // // { + // // sign = true; + // // input = input.Substring(1); + // // } + + // // foreach (char d in input) + // // { + // // int n = d - '0'; + // // if (n > 9) + // // n = d - 55; + + // // v *= radix; + // // v += n; + // // } + + // // if (sign) + // // v = v.Twos(); + + // // return v; + // // } + + + + // // private BigInteger __op_add(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); + // // } + // // private BigInteger __op_sub(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); + // // } + + // // private int __op_cmp(BigInteger b) + // // { + // // return BigIntMath.cmp(bits, b.bits); + // // } + + // // private BigInteger __op_div(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.sdiv(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mod(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.smod(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mul(BigInteger b) + // // { + // // UInt32[] value = BigIntMath.smul(bits, b.bits); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_new(uint[] value) + // // { + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shl(int b) + // // { + // // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); + // // BigIntMath.shl(value,b); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shr(int b) + // // { + // // UInt32[] value = bits.Segment(0); + // // BigIntMath.shr(value, b); + // // return new BigInteger(value); + // // } + + // // public static implicit operator BigInteger(int i) + // // { + // // return new BigInteger(new UInt32[]{(UInt32)i}); + // // } + + + + // // public static BigInteger operator +(BigInteger a, BigInteger b) + // // { + // // return a.__op_add(b); + // // } + // // public static BigInteger operator -(BigInteger a, BigInteger b) + // // { + // // return a.__op_sub(b); + // // } + // // public static BigInteger operator *(BigInteger a, BigInteger b) + // // { + // // return a.__op_mul(b); + // // } + + // // public static BigInteger operator /(BigInteger a, BigInteger b) + // // { + // // return a.__op_div(b); + // // } + // // public static BigInteger operator %(BigInteger a, BigInteger b) + // // { + // // return a.__op_mod(b); + // // } + + // // public static bool operator <(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) < 0; + // // } + // // public static bool operator >(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) > 0; + // // } + // // public static bool operator ==(BigInteger a, BigInteger b) + // // { + // // if ((object)a == (object)b) + // // { + // // return true; + // // } + // // if (((object)a == null) || ((object)b == null)) + // // { + // // return false; + // // } + // // return a.__op_cmp(b) == 0; + // // } + // // public static bool operator !=(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) != 0; + // // } + + // // public static BigInteger operator <<(BigInteger a, int b) + // // { + // // return a.__op_shl(b); + // // } + // // public static BigInteger operator >>(BigInteger a, int b) + // // { + // // return a.__op_shr(b); + // // } + + // // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); + // // public override int GetHashCode() => ToByteArray().CreateHashCode(); + + + + + + + + // /*** Native Implementations ***/ + + + + // // public BigInteger(UInt32[] value) + // // { + // // this.bits = value; + // // } + + + + + // // public BigInteger(byte[] ivalue) + // // { + // // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; + // // ivalue = ivalue.Segment(0, v.Length << 2); + + // // for (int n = 0; n < v.Length; n++) + // // { + // // v[n] = BitConverter.ToUInt32(ivalue, n << 2); + // // } + // // this.bits = BigIntMath.reduceSigned(v); + // // } + // // public BigInteger(BigInteger src) + // // { + // // this.bits = src.bits; + // // } + + // // public bool IsZero => BigIntMath.isZero(bits); + // // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; + + // // public int GetByteCount() => bits.Length * 4; + // // public int GetBitLength() => BigIntMath.log2(bits); + + // // public byte[] ToByteArray() => bits.GetBytes(); + + // // public void TryWriteBytes(Span s,out int bytesWritten) + // // { + // // byte[] sb = ToByteArray(); + // // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) + // // s[bytesWritten] = sb[bytesWritten]; + // // } + + // // public int Log2(){ + // // return BigIntMath.log2(bits); + // // } + + // // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) + // // { + // // BigInteger r = BigInteger.One; + // // while (n-- > 0) + // // { + // // r *= i; + // // r %= modulus; + // // } + // // return r; + // // } + + // // public BigInteger Pow(int n) + // // { + // // if (n == 0) + // // { + // // return One; + // // } + // // else if (n == 1) + // // { + // // return this; + // // } + // // else if (n > 1) + // // { + // // BigInteger result = this; + // // n--; + // // while ((n--) > 0) + // // { + // // result = (result * this); + // // } + // // return result; + // // } + // // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); + // // } + + // // public BigInteger Ones() + // // { + // // UInt32[] result = BigIntMath.ones(bits); + // // return new BigInteger(result); + // // } + + // // public BigInteger Twos() + // // { + // // UInt32[] result = BigIntMath.twos(bits); + // // return new BigInteger(result); + // // } + + + // // public static BigInteger fromHexString(string hex) => Parse(hex, 16); + + // // public override string ToString() + // // { + // // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); + // // } + + // // public string ToString(string format) + // // { + // // if (format.Equals("X")) + // // return ToString(16); + // // return ToString(10); + // // } + + // // public string ToString(int radix) => ToString(radix, -1); + // // public string ToString(int radix, int length) + // // { + // // if ((radix < 2) || (radix > 36)) + // // throw new ArgumentOutOfRangeException(nameof(radix)); + + // // uint[] v = bits.Segment(0); + // // uint[] r = new uint[]{ (uint)radix }; + + // // StringBuilder sb = new StringBuilder(); + + // // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) + // // { + // // uint[] x = BigIntMath.sdivmod(ref v, r); + // // if (v[0] < 10) + // // sb.Append((char)('0' + v[0])); + // // else + // // sb.Append((char)(55 + v[0])); + // // v = x; + // // } + + // // char[] result = new char[sb.Length]; + // // sb.CopyTo(0, result, 0, sb.Length); + // // Array.Reverse(result); + // // return new string(result); + // // } + + // // public static BigInteger Parse(string input) => Parse(input, 10); + + // // public static BigInteger Parse(string input, NumberStyles numberStyles) + // // { + // // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) + // // return Parse(input, 16); + // // return Parse(input, 10); + // // } + + // // public static BigInteger Parse(string input, int radix) + // // { + // // BigInteger v = 0; + // // bool sign = false; + + // // if (input[0] == '-') + // // { + // // sign = true; + // // input = input.Substring(1); + // // } + + // // foreach (char d in input) + // // { + // // int n = d - '0'; + // // if (n > 9) + // // n = d - 55; + + // // v *= radix; + // // v += n; + // // } + + // // if (sign) + // // v = v.Twos(); + + // // return v; + // // } + + + + // // private BigInteger __op_add(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); + // // } + // // private BigInteger __op_sub(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); + // // } + + // // private int __op_cmp(BigInteger b) + // // { + // // return BigIntMath.cmp(bits, b.bits); + // // } + + // // private BigInteger __op_div(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.sdiv(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mod(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.smod(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mul(BigInteger b) + // // { + // // UInt32[] value = BigIntMath.smul(bits, b.bits); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_new(uint[] value) + // // { + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shl(int b) + // // { + // // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); + // // BigIntMath.shl(value,b); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shr(int b) + // // { + // // UInt32[] value = bits.Segment(0); + // // BigIntMath.shr(value, b); + // // return new BigInteger(value); + // // } + + // // public static implicit operator BigInteger(int i) + // // { + // // return new BigInteger(new UInt32[]{(UInt32)i}); + // // } + + + + // // public static BigInteger operator +(BigInteger a, BigInteger b) + // // { + // // return a.__op_add(b); + // // } + // // public static BigInteger operator -(BigInteger a, BigInteger b) + // // { + // // return a.__op_sub(b); + // // } + // // public static BigInteger operator *(BigInteger a, BigInteger b) + // // { + // // return a.__op_mul(b); + // // } + + // // public static BigInteger operator /(BigInteger a, BigInteger b) + // // { + // // return a.__op_div(b); + // // } + // // public static BigInteger operator %(BigInteger a, BigInteger b) + // // { + // // return a.__op_mod(b); + // // } + + // // public static bool operator <(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) < 0; + // // } + // // public static bool operator >(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) > 0; + // // } + // // public static bool operator ==(BigInteger a, BigInteger b) + // // { + // // if ((object)a == (object)b) + // // { + // // return true; + // // } + // // if (((object)a == null) || ((object)b == null)) + // // { + // // return false; + // // } + // // return a.__op_cmp(b) == 0; + // // } + // // public static bool operator !=(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) != 0; + // // } + + // // public static BigInteger operator <<(BigInteger a, int b) + // // { + // // return a.__op_shl(b); + // // } + // // public static BigInteger operator >>(BigInteger a, int b) + // // { + // // return a.__op_shr(b); + // // } + + // // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); + // // public override int GetHashCode() => ToByteArray().CreateHashCode(); + + + + + + + + // /*** Native Implementations ***/ + + + + + + + // // public BigInteger(UInt32[] value) + // // { + // // this.bits = value; + // // } + + + + + // // public BigInteger(byte[] ivalue) + // // { + // // UInt32[] v = new UInt32[(ivalue.Length + 3) >> 2]; + // // ivalue = ivalue.Segment(0, v.Length << 2); + + // // for (int n = 0; n < v.Length; n++) + // // { + // // v[n] = BitConverter.ToUInt32(ivalue, n << 2); + // // } + // // this.bits = BigIntMath.reduceSigned(v); + // // } + // // public BigInteger(BigInteger src) + // // { + // // this.bits = src.bits; + // // } + + // // public bool IsZero => BigIntMath.isZero(bits); + // // public int Sign => BigIntMath.isZero(bits) ? 0 : BigIntMath.sign(bits) ? -1 : 1; + + // // public int GetByteCount() => bits.Length * 4; + // // public int GetBitLength() => BigIntMath.log2(bits); + + // // public byte[] ToByteArray() => bits.GetBytes(); + + // // public void TryWriteBytes(Span s,out int bytesWritten) + // // { + // // byte[] sb = ToByteArray(); + // // for (bytesWritten = 0; bytesWritten < sb.Length; bytesWritten++) + // // s[bytesWritten] = sb[bytesWritten]; + // // } + + // // public int Log2(){ + // // return BigIntMath.log2(bits); + // // } + + // // public static BigInteger ModPow(BigInteger i,int n,BigInteger modulus) + // // { + // // BigInteger r = BigInteger.One; + // // while (n-- > 0) + // // { + // // r *= i; + // // r %= modulus; + // // } + // // return r; + // // } + + // // public BigInteger Pow(int n) + // // { + // // if (n == 0) + // // { + // // return One; + // // } + // // else if (n == 1) + // // { + // // return this; + // // } + // // else if (n > 1) + // // { + // // BigInteger result = this; + // // n--; + // // while ((n--) > 0) + // // { + // // result = (result * this); + // // } + // // return result; + // // } + // // throw new ArgumentException("Integer.Pow(n): not implemented for negative exponent"); + // // } + + // // public BigInteger Ones() + // // { + // // UInt32[] result = BigIntMath.ones(bits); + // // return new BigInteger(result); + // // } + + // // public BigInteger Twos() + // // { + // // UInt32[] result = BigIntMath.twos(bits); + // // return new BigInteger(result); + // // } + + + // // public static BigInteger fromHexString(string hex) => Parse(hex, 16); + + // // public override string ToString() + // // { + // // return String.Format("[{0}: Sign: {2,5} / {1}]", this.GetType().Name, ToString(16), Sign ); + // // } + + // // public string ToString(string format) + // // { + // // if (format.Equals("X")) + // // return ToString(16); + // // return ToString(10); + // // } + + // // public string ToString(int radix) => ToString(radix, -1); + // // public string ToString(int radix, int length) + // // { + // // if ((radix < 2) || (radix > 36)) + // // throw new ArgumentOutOfRangeException(nameof(radix)); + + // // uint[] v = bits.Segment(0); + // // uint[] r = new uint[]{ (uint)radix }; + + // // StringBuilder sb = new StringBuilder(); + + // // while ((!BigIntMath.isZero(v)) && ((length-- )!=0)) + // // { + // // uint[] x = BigIntMath.sdivmod(ref v, r); + // // if (v[0] < 10) + // // sb.Append((char)('0' + v[0])); + // // else + // // sb.Append((char)(55 + v[0])); + // // v = x; + // // } + + // // char[] result = new char[sb.Length]; + // // sb.CopyTo(0, result, 0, sb.Length); + // // Array.Reverse(result); + // // return new string(result); + // // } + + // // public static BigInteger Parse(string input) => Parse(input, 10); + + // // public static BigInteger Parse(string input, NumberStyles numberStyles) + // // { + // // if ((numberStyles & (NumberStyles.HexNumber | NumberStyles.AllowHexSpecifier)) != 0) + // // return Parse(input, 16); + // // return Parse(input, 10); + // // } + + // // public static BigInteger Parse(string input, int radix) + // // { + // // BigInteger v = 0; + // // bool sign = false; + + // // if (input[0] == '-') + // // { + // // sign = true; + // // input = input.Substring(1); + // // } + + // // foreach (char d in input) + // // { + // // int n = d - '0'; + // // if (n > 9) + // // n = d - 55; + + // // v *= radix; + // // v += n; + // // } + + // // if (sign) + // // v = v.Twos(); + + // // return v; + // // } + + + + // // private BigInteger __op_add(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.add(v,vb))); + // // } + // // private BigInteger __op_sub(BigInteger b) + // // { + // // int width = (bits.Length > b.bits.Length ? bits.Length : b.bits.Length) + 1; + // // UInt32[] v = BigIntMath.extendSigned(bits, width); + // // UInt32[] vb = BigIntMath.extendSigned(b.bits, width); + // // return new BigInteger(BigIntMath.reduceSigned(BigIntMath.sub(v,vb))); + // // } + + // // private int __op_cmp(BigInteger b) + // // { + // // return BigIntMath.cmp(bits, b.bits); + // // } + + // // private BigInteger __op_div(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.sdiv(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mod(BigInteger b) + // // { + // // UInt32[] result = BigIntMath.smod(bits, b.bits); + // // return new BigInteger(result); + // // } + + // // private BigInteger __op_mul(BigInteger b) + // // { + // // UInt32[] value = BigIntMath.smul(bits, b.bits); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_new(uint[] value) + // // { + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shl(int b) + // // { + // // UInt32[] value = BigIntMath.extendSigned(bits, bits.Length + ((b + 31) >> 5)); + // // BigIntMath.shl(value,b); + // // return new BigInteger(value); + // // } + + // // private BigInteger __op_shr(int b) + // // { + // // UInt32[] value = bits.Segment(0); + // // BigIntMath.shr(value, b); + // // return new BigInteger(value); + // // } + + // // public static implicit operator BigInteger(int i) + // // { + // // return new BigInteger(new UInt32[]{(UInt32)i}); + // // } + + + + // // public static BigInteger operator +(BigInteger a, BigInteger b) + // // { + // // return a.__op_add(b); + // // } + // // public static BigInteger operator -(BigInteger a, BigInteger b) + // // { + // // return a.__op_sub(b); + // // } + // // public static BigInteger operator *(BigInteger a, BigInteger b) + // // { + // // return a.__op_mul(b); + // // } + + // // public static BigInteger operator /(BigInteger a, BigInteger b) + // // { + // // return a.__op_div(b); + // // } + // // public static BigInteger operator %(BigInteger a, BigInteger b) + // // { + // // return a.__op_mod(b); + // // } + + // // public static bool operator <(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) < 0; + // // } + // // public static bool operator >(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) > 0; + // // } + // // public static bool operator ==(BigInteger a, BigInteger b) + // // { + // // if ((object)a == (object)b) + // // { + // // return true; + // // } + // // if (((object)a == null) || ((object)b == null)) + // // { + // // return false; + // // } + // // return a.__op_cmp(b) == 0; + // // } + // // public static bool operator !=(BigInteger a, BigInteger b) + // // { + // // return a.__op_cmp(b) != 0; + // // } + + // // public static BigInteger operator <<(BigInteger a, int b) + // // { + // // return a.__op_shl(b); + // // } + // // public static BigInteger operator >>(BigInteger a, int b) + // // { + // // return a.__op_shr(b); + // // } + + // // public override bool Equals(object obj) => (obj is BigInteger other) && (this == other); + // // public override int GetHashCode() => ToByteArray().CreateHashCode(); + + + + + + + + // /*** Native Implementations ***/ + // [DllImport("bigint")] + // public static extern Int32 big_get_length(UInt32[] bits, Int32 length); + // public static Int32 big_get_length(UInt32[] bits) => big_get_length(bits, bits.Length); + + // /*** + // big_get_bitlength() returns the number of bits needed to represent this value including the sign bit + // ***/ + // [DllImport("bigint")] + // public static extern Int32 big_get_bitlength(UInt32[] bits, Int32 length); + // public static Int32 big_get_bitlength(UInt32[] bits) => big_get_bitlength( bits, bits.Length ); + + // [DllImport("bigint")] + // public static extern Int32 big_parse(UInt32[] op, Int32 length, String source, Int32 radix); + // // [DllImport("bigint")] + // // public static extern Int32 big_log2(UInt32[] bits, Int32 length); + + // [DllImport("bigint")] + // public static extern void big_add(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); + // public static void big_add(UInt32[] op_a, UInt32[] op_b) => big_add( op_a, op_a.Length, op_b, op_b.Length); + // //public static unsafe extern void big_add(UInt32* op_a, Int32 length_a, UInt32* op_b, Int32 length_b); + // // public unsafe static void big_add(UInt32[] op_a, UInt32[] op_b){ + // // fixed (UInt32* a = op_a) + // // fixed (UInt32* b = op_b) + // // big_add( a, op_a.Length, b, op_b.Length ); + // // } + + // [DllImport("bigint")] + // public static extern void big_sub(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); + // public static void big_sub(UInt32[] op_a, UInt32[] op_b) => big_sub( op_a, op_a.Length, op_b, op_b.Length ); + + // [DllImport("bigint")] + // public static extern void big_twos(UInt32[] bits, Int32 length); + // [DllImport("bigint")] + // public static extern void big_shl(UInt32[] bits, Int32 length, Int32 n); + // [DllImport("bigint")] + // public static extern void big_shr(UInt32[] bits, Int32 length, Int32 n); + + + // [DllImport("bigint")] + // public static extern Int32 big_cmp(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); + // public static Int32 big_cmp(UInt32[] op_a, UInt32[] op_b) => big_cmp(op_a, op_a.Length, op_b, op_b.Length); + + + // [DllImport("bigint")] + // public static unsafe extern void big_smul(UInt32* op_a, Int32 length_a, UInt32* op_b, Int32 length_b); + // public static unsafe void big_smul(UInt32[] op_a, UInt32[] op_b) + // { + // fixed (UInt32* a = op_a) + // fixed (UInt32* b = op_b) + // big_smul( a, op_a.Length, b, op_b.Length); + // } + // [DllImport("bigint")] + // public static extern void big_divmod(UInt32[] op_a, Int32 length_a, UInt32[] op_b, Int32 length_b); + // public static void big_divmod(UInt32[] op_a, UInt32[] op_b) => big_divmod( op_a, op_a.Length, op_b, op_b.Length); + + + // private int max(int a,int b) => a > b ? a : b; + + + // public static int managed_get_length(UInt32[] op) + // { + // for (int n=op.Length-1;n>0;n--) + // { + // if ((op[n] != 0xFFFFFFFF) && ((op[n]==0) || ((op[n-1] & 0x80000000)!=0) ) ) + // return n; + // } + // return 1; + // } + + // public void managed_smul(UInt32[] op_a, UInt32[] op_b) + // { + // Int32 length_a = op_a.Length; + // Int32 length_b = op_b.Length; + // UInt32[] op_a_bak = new uint[length_a]; + // Array.Copy(op_a, op_a_bak, length_a); + + // for (int l1 = 0; l1 < length_a; l1++) + // { + // UInt64 ui64 = 0; + // int l2; + // for (l2 = 0; (l2 < length_b) && (l1 + l2 < length_a); l2++) + // { + // int target = l1 + l2; + // ui64 += op_a[target]; + // ui64 += ((UInt64)op_a_bak[l1] * op_b[l2]); + // op_a[target] = (UInt32)ui64; + // ui64 >>= 32; + // } + // for (;(l2 < length_a) && (ui64 != 0);l2++) + // { + // int target = l1 + l2; + // ui64 += op_a[target]; + // op_a[target] = (UInt32)ui64; + // ui64 >>= 32; + // } + // } + // } + + // public void managed_add(UInt32[] op_a, UInt32[] op_b) + // { + // Int64 c = 0; + // Int32 length_a = op_a.Length; + // Int32 length_b = op_b.Length; + + + // for (int n=0;n>= 32; + + // if ((c == 0) && (n > length_b)) + // break; + // } + // } + + // } } diff --git a/ln.biginteger/BigIntegerAllocator.cs b/ln.biginteger/BigIntegerAllocator.cs new file mode 100644 index 0000000..6aed25e --- /dev/null +++ b/ln.biginteger/BigIntegerAllocator.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Threading; + +namespace ln.biginteger +{ + public static class BigIntegerAllocator + { + static int _mpz_size = 24; + static int _allocate_count = 40960000; + + static Stack pool = new Stack(); + + public static IntPtr Pop() + { + lock (pool) + { + if (!pool.TryPop(out IntPtr ptr)) + { + ptr = Marshal.AllocHGlobal(_mpz_size * _allocate_count); + for (int n=1;n<_allocate_count;n++) + pool.Push(ptr + (n*_mpz_size)); + + } + return ptr; + } + } + + public static void Push(IntPtr ptr) + { + lock (pool) + { + pool.Push(ptr); + } + } + + + + } + +} \ No newline at end of file diff --git a/ln.biginteger/ln.biginteger.csproj b/ln.biginteger/ln.biginteger.csproj index 0cda350..80ae29e 100644 --- a/ln.biginteger/ln.biginteger.csproj +++ b/ln.biginteger/ln.biginteger.csproj @@ -2,12 +2,16 @@ netcoreapp5.0 + - - PreserveNewest - + + + + + + diff --git a/ln.biginteger/x64/libgmp.so b/ln.biginteger/x64/libgmp.so new file mode 100755 index 0000000000000000000000000000000000000000..4b0860ec52b1464b84dbdd0f5a4f313fa0fce037 GIT binary patch literal 706584 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�$xO3VAOx*G8 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
Uo#)RbRFI8Ol#}=(*g%-{9bHQ~i}Ytp3lc{$&pN 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 E7v95jZvX%Q literal 0 HcmV?d00001