public static Accumulator <N> MulShift(Accumulator <N> v1, Accumulator <N> v2)
        {
            Accumulator <N> v = new(BigUInt <Double <N> > .Mul(v1.value, v2.value));

            return(RightRoundShift(v, Mantissa <N> .Bits - 1));
        }
 public static Accumulator <N> Mul(Accumulator <N> v1, Accumulator <N> v2)
 {
     return(new Accumulator <N>(BigUInt <Double <N> > .Mul(v1.value, v2.value)));
 }