protected override IDataItem TestFunc(IDataItem p1)
        {
            var u = p1.ToUInt32().Value;
            var w = UBigInt.From(u);

            return(new UBigIntDataItem(w));
        }
Beispiel #2
0
 private static void ニュートンラプソン法による逆数の計算(UBigInt v, int factor_v, out UBigInt xi, out int factor_x)
 {
     factor_x = factor_v + 1;
     xi       = (UBigInt.From(7U) << (factor_x - 1)).USubtruct((v << (factor_x - factor_v + 1)));
     while (true)
     {
         var t         = (UBigInt.One << (factor_v + factor_x + 1)).USubtruct(v * xi);
         var xi_plus_1 = (xi * t) >> (factor_v + factor_x);
         if (xi_plus_1 == xi)
         {
             break;
         }
         xi = xi_plus_1;
     }
 }