コード例 #1
0
ファイル: SafeMathTests.cs プロジェクト: zhoujue1110/AElf
        public void Int64_And_UInt64_Test()
        {
            ulong number1 = 6;
            long  number2 = 6;

            number1.Mul(6).ShouldBe(36UL);
            number2.Mul(6).ShouldBe(36L);
            Should.Throw <DivideByZeroException>(() => { number1.Div(0); });
            Should.Throw <DivideByZeroException>(() => { number2.Div(0); });

            number1.Div(2).ShouldBe(3UL);
            number2.Div(-2).ShouldBe(-3L);
            Should.Throw <DivideByZeroException>(() => { 5.Div(0); });
            Should.Throw <DivideByZeroException>(() => { (-5).Div(0); });

            number1.Sub(5).ShouldBe(1UL);
            number2.Sub(5).ShouldBe(1L);
            Should.Throw <OverflowException>(() => { long.MaxValue.Sub(-5); });
            Should.Throw <OverflowException>(() => { ulong.MinValue.Sub(5); });

            number1.Add(5).ShouldBe(11UL);
            number2.Add(5).ShouldBe(11L);
            Should.Throw <OverflowException>(() => { long.MaxValue.Add(8); });
            Should.Throw <OverflowException>(() => { ulong.MaxValue.Add(8); });
        }
コード例 #2
0
        public static ulong GetStackedXPLevelRequirement(ulong level, double growthmod)
        {
            ulong xp = 0;

            for (ulong lvl = 0; lvl < level; lvl++)
            {
                xp = xp.Add(GetXPLevelRequirement(lvl, growthmod));
            }

            return(xp);
        }
コード例 #3
0
ファイル: ExtendInt.cs プロジェクト: KwongHauLim/HaLi.Tools
 public static ulong Inc(this ulong i)
 {
     return(i.Add(1));
 }