* @param y y >=0
     * @return
     */
    public static BigDecimal powerUnscaled1Precision1(
            BigDecimal x,
            int y) {
        // Special cases
        if (y == 0) {
            return BigDecimal.ONE;
        }
        BigDecimal result;
        int xscale = x.scale();
        int xprecision = x.precision();
        if (xscale == 0) {
            result = x.movePointRight((y - 1) * (xprecision - 1));
        } else {
            result = x.movePointLeft((y - 1) * xscale);
        }
        return result;
    }