public static double H(double prop) {
		if (prop < 0.0 || prop > 1.0) {
			throw new IllegalArgumentException(
					"prop must in [0,1],illegal prop=" + prop);
		}
		if (Double.isNaN(prop)) {
			return 0.0;
		}
		if (prop == 0.0) {
			return MAX;
		}
		return -Math.log(prop);
	}