f.testBit(a - 1))    // force MSB set
                    self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self);
                if (self.isEven()) self.dAddOffset(1, 0); // force odd
                while (!self.isProbablePrime(b)) {
                    self.dAddOffset(2, 0);
                    if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self);
                }
            }
        }
        else {
            // new BigInteger(int,RNG)
            var x = new Array(), t