docs: public static Decimal sround(Decimal b0, int r) {
  		if (r >= b0.scale) {
  			return b0;
  		}
  
  		BigDecimal b2 = b0.toBigDecimal().movePointRight(r)
  				.setScale(0, RoundingMode.HALF_UP)
  				.movePointLeft(r);
  		int p = b0.precision;
  		int s = b0.scale;
  		if (r < 0) {
  			return fromBigDecimal(b2, Math.min(38, 1 + p - s), 0);
  		} else {  // 0 <= r < s
  			return fromBigDecimal(b2, 1 + p - s + r, r);
  		}
  	}