• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# HugeInt类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中HugeInt的典型用法代码示例。如果您正苦于以下问题:C# HugeInt类的具体用法?C# HugeInt怎么用?C# HugeInt使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HugeInt类属于命名空间,在下文中一共展示了HugeInt类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: IntFindBit

        public void IntFindBit()
        {
            using (var a = new HugeInt("0xA0000000000000000000800000000001"))
            {
                var max = Platform.Ui(ulong.MaxValue, uint.MaxValue);
                Assert.AreEqual(0UL, a.FindBit(true, 0));
                Assert.AreEqual(47UL, a.FindBit(true, 1));
                Assert.AreEqual(47UL, a.FindBit(true, 47));
                Assert.AreEqual(125UL, a.FindBit(true, 48));
                Assert.AreEqual(127UL, a.FindBit(true, 126));
                Assert.AreEqual(max, a.FindBit(true, 128));

                Assert.AreEqual(1UL, a.FindBit(false, 0));
                Assert.AreEqual(1UL, a.FindBit(false, 1));
                Assert.AreEqual(9UL, a.FindBit(false, 9));
                Assert.AreEqual(128UL, a.FindBit(false, 127));
                Assert.AreEqual(227UL, a.FindBit(false, 227));

                a.Value = ~a;

                Assert.AreEqual(0UL, a.FindBit(false, 0));
                Assert.AreEqual(47UL, a.FindBit(false, 1));
                Assert.AreEqual(47UL, a.FindBit(false, 47));
                Assert.AreEqual(125UL, a.FindBit(false, 48));
                Assert.AreEqual(127UL, a.FindBit(false, 126));
                Assert.AreEqual(max, a.FindBit(false, 128));

                Assert.AreEqual(1UL, a.FindBit(true, 0));
                Assert.AreEqual(1UL, a.FindBit(true, 1));
                Assert.AreEqual(9UL, a.FindBit(true, 9));
                Assert.AreEqual(128UL, a.FindBit(true, 127));
                Assert.AreEqual(227UL, a.FindBit(true, 227));
            }
        }
开发者ID:wbhart,项目名称:mpir,代码行数:34,代码来源:Bitwise.cs


示例2: RationalCompareToHugeInt

        public void RationalCompareToHugeInt()
        {
            using (var a = new HugeRational("-222509832503450298345029835740293845721/115756986668303657898962467957"))
            using (var b = new HugeInt("115756986668303657898962467957"))
            using (var c = new HugeRational("115756986668303657898962467957/1"))
            using (var d = new HugeInt(1922215141))
            {
                Assert.AreEqual(-1, System.Math.Sign(a.CompareTo(d)));
                Assert.AreEqual(1, System.Math.Sign((-a).CompareTo(d)));
                Assert.AreEqual(-1, System.Math.Sign((-a).CompareTo(d + 1)));
                Assert.AreEqual(1, System.Math.Sign(d.CompareTo(a)));
                Assert.AreEqual(-1, System.Math.Sign(d.CompareTo(-a)));
                Assert.AreEqual(1, System.Math.Sign((d + 1).CompareTo(-a)));

                Assert.AreEqual(0, System.Math.Sign(b.CompareTo(c)));
                Assert.AreEqual(0, System.Math.Sign(c.CompareTo(b)));
                Assert.AreEqual(0, System.Math.Sign((-b).CompareTo(-c)));
                Assert.AreEqual(0, System.Math.Sign((-c).CompareTo(-b)));

                Assert.AreEqual(1, System.Math.Sign(b.CompareTo(c - 1)));
                Assert.AreEqual(1, System.Math.Sign(c.CompareTo(b - 1)));
                Assert.AreEqual(-1, System.Math.Sign((-b).CompareTo(1 - c)));
                Assert.AreEqual(-1, System.Math.Sign((-c).CompareTo(1 - b)));
            }
        }
开发者ID:romance-ii,项目名称:mpir,代码行数:25,代码来源:Comparisons.cs


示例3: CanAddHugeInt

 public void CanAddHugeInt()
 {
     HugeInt a = new HugeInt(123);
     HugeInt b = new HugeInt(456);
     HugeInt c = a + b;
     Assert.AreEqual("579", c.ToString());
 }
开发者ID:bazile,项目名称:Training,代码行数:7,代码来源:HugeIntFixture.cs


示例4: CanSubtractHugeInt

 public void CanSubtractHugeInt()
 {
     HugeInt a = new HugeInt(456);
     HugeInt b = new HugeInt(123);
     HugeInt c = a - b;
     Assert.AreEqual("333", c.ToString());
 }
开发者ID:bazile,项目名称:Training,代码行数:7,代码来源:HugeIntFixture.cs


示例5: IntPowerLimb

 public void IntPowerLimb()
 {
     using (var a = new HugeInt("9785412309485720938412983404349"))
     {
         a.Value = a ^ 4;
         Assert.AreEqual("9168884832199547717402442404668238841010784738902226284286664833331445628675177089723224507720724521226586825967635414667601", a.ToString());
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:8,代码来源:Math.cs


示例6: IntGetLimb

 public void IntGetLimb()
 {
     using (var a = new HugeInt("-0x10123456789ABCDEFA123456789ABCDEF0123456789ABCDEF"))
     {
         Assert.AreEqual(Platform.Ui(0x0123456789ABCDEFUL, 0x89ABCDEFU), a.GetLimb(0));
         Assert.AreEqual(Platform.Ui(0xA123456789ABCDEFUL, 0x01234567U), a.GetLimb(1));
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:8,代码来源:IO.cs


示例7: FloatAssignInt

 public void FloatAssignInt()
 {
     using (var a = new HugeInt("222509832503450298345029835740293845720"))
     using (var b = new HugeFloat())
     {
         b.SetTo(a);
         FloatAssert.AreEqual("222509832503450298345029835740293845720.", b);
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:9,代码来源:Assignment.cs


示例8: RationalAssignInt

 public void RationalAssignInt()
 {
     using (var a = new HugeInt("222509832503450298345029835740293845720"))
     using (var b = new HugeRational("1/3"))
     {
         b.SetTo(a);
         Assert.AreEqual("222509832503450298345029835740293845720/1", b.ToString());
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:9,代码来源:Assignment.cs


示例9: IntCompoundOperators

 public void IntCompoundOperators()
 {
     using (var a = new HugeInt("938475092834705928347523452345"))
     {
         a.Value += 1;
         a.Value *= 10;
         Assert.AreEqual("9384750928347059283475234523460", a.ToString());
     }
 }
开发者ID:romance-ii,项目名称:mpir,代码行数:9,代码来源:Assignment.cs


示例10: IntAssignRational

 public void IntAssignRational()
 {
     using (var a = new HugeRational("222509832503450298345029835740293845720/7"))
     using (var b = new HugeInt())
     {
         b.SetTo(a);
         Assert.AreEqual("31787118929064328335004262248613406531", b.ToString());
     }
 }
开发者ID:romance-ii,项目名称:mpir,代码行数:9,代码来源:Assignment.cs


示例11: IntAssignCopy

 public void IntAssignCopy()
 {
     using (var a = new HugeInt("-222509832503450298345029835740293845720"))
     using (var b = new HugeInt())
     {
         b.Value = a;
         Assert.AreEqual("-222509832503450298345029835740293845720", b.ToString());
     }
 }
开发者ID:romance-ii,项目名称:mpir,代码行数:9,代码来源:Assignment.cs


示例12: IntAddLimb

 public void IntAddLimb()
 {
     using (var a = new HugeInt("222509832503450298345029835740293845720"))
     {
         var b = Platform.Ui(4288574029879874539UL, 4288574029U);
         a.Value = a + b;
         Assert.AreEqual(Platform.Select("222509832503450298349318409770173720259", "222509832503450298345029835744582419749"), a.ToString());
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:9,代码来源:Arithmetic.cs


示例13: IntAndHugeInt

 public void IntAndHugeInt()
 {
     using (var a = new HugeInt("0x10123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"))
     using (var b = new HugeInt("0x100000000000000000123456789ABCDEFFFFFFFFFFFFFFFFF"))
     using (var c = new HugeInt())
     {
         c.Value = a & b;
         Assert.AreEqual("100000000000000000123456789ABCDEF0123456789ABCDEF", c.ToString(16));
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:10,代码来源:Bitwise.cs


示例14: IntBinomial

 public void IntBinomial()
 {
     using (var a = new HugeInt(HugeInt.Binomial(40, 15)))
     using (var b = new HugeInt("41"))
     using (var c = new HugeInt(HugeInt.Binomial(b, 15)))
     {
         Assert.AreEqual(HugeInt.Factorial(40).DivideExactly(HugeInt.Factorial(15) * HugeInt.Factorial(25)), a);
         Assert.AreEqual(a * 41 / 26, c);
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:10,代码来源:NumberTheoretic.cs


示例15: IntAddHugeInt

 public void IntAddHugeInt()
 {
     using (var a = new HugeInt("222509832503450298345029835740293845720"))
     using (var b = new HugeInt("222987435987982730594288574029879874539"))
     using (var c = new HugeInt())
     {
         c.Value = a + b;
         Assert.AreEqual("445497268491433028939318409770173720259", c.ToString());
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:10,代码来源:Arithmetic.cs


示例16: IntPowerModHugeInt

 public void IntPowerModHugeInt()
 {
     using (var a = new HugeInt("2835698356928736487698769283645293409781234"))
     using (var b = new HugeInt("3"))
     using (var c = new HugeInt("9786459872639458729387304958673243509870923452745892673402935742456"))
     {
         a.Value = a.PowerMod(b, c);
         Assert.AreEqual("5346078446724436806099093819990997994355321605000165187447171753448", a.ToString());
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:10,代码来源:Math.cs


示例17: IntAddProductHugeInt2

 public void IntAddProductHugeInt2()
 {
     using (var a = new HugeInt("98750293847520938457029384572093480498357"))
     using (var c = new HugeInt("23094582093845093574093845093485039450934"))
     using (var b = new HugeInt("-394580293847502987609283945873594873409587"))
     {
         var expr = c * b + a;
         a.Value = expr;
         Assert.AreEqual("-9112666988874677841199955832262586145147830205230375090322356322089362221491205901", a.ToString());
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:11,代码来源:Arithmetic.cs


示例18: IntApproximateSizeInBase

 public void IntApproximateSizeInBase()
 {
     using (var a = new HugeInt("2983475029834750293429834750298347502934298347502983475029342983475029834750293429834750298347502934"))
     {
         AssertEither(100, 101, a.ApproximateSizeInBase(10));
         AssertEither(331, 331, a.ApproximateSizeInBase(2));
         AssertEither(83, 83, a.ApproximateSizeInBase(16));
         AssertEither(64, 65, a.ApproximateSizeInBase(36));
         AssertEither(56, 57, a.ApproximateSizeInBase(62));
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:11,代码来源:Conversions.cs


示例19: IntComplementBit

 public void IntComplementBit()
 {
     using (var a = new HugeInt("0xA0000000000000000000800000000001"))
     {
         a.ComplementBit(46);
         Assert.AreEqual("A0000000000000000000C00000000001", a.ToString(16));
         a.ComplementBit(47);
         Assert.AreEqual("A0000000000000000000400000000001", a.ToString(16));
         a.ComplementBit(131);
         Assert.AreEqual("8A0000000000000000000400000000001", a.ToString(16));
     }
 }
开发者ID:wbhart,项目名称:mpir,代码行数:12,代码来源:Bitwise.cs


示例20: RationalAddHugeInt

 public void RationalAddHugeInt()
 {
     using (var a = new HugeRational("222509832503450298345029835740293845720/115756986668303657898962467957"))
     using (var b = new HugeInt("222987435987982730594288574029879874539"))
     using (var c = new HugeRational(a + b))
     {
         Assert.AreEqual(a.Numerator + b * a.Denominator, c.Numerator);
         Assert.AreEqual(a.Denominator, c.Denominator);
         c.Value = (b + 1) + a;
         Assert.AreEqual(a.Numerator + (b + 1) * a.Denominator, c.Numerator);
         Assert.AreEqual(a.Denominator, c.Denominator);
     }
 }
开发者ID:BrianGladman,项目名称:mpir,代码行数:13,代码来源:Arithmetic.cs



注:本文中的HugeInt类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Human类代码示例发布时间:2022-05-24
下一篇:
C# HugeFloat类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap