src/main/java/net/sourceforge/jaad/aac/gain/GainControl.java
private float interpolateGain(float alev0, float alev1, int iloc) {
		final float a0 = (float) (Math.log(alev0)/Math.log(2));
		final float a1 = (float) (Math.log(alev1)/Math.log(2));
		return (float) Math.pow(2.0f, (((8-iloc)*a0+iloc*a1)/8));
	}
private float interpolateGain(float alev0, float alev1, int iloc) {
		final float a0 = (float) (Math.log(alev0)/Math.log(2));
		final float a1 = (float) (Math.log(alev1)/Math.log(2));
		return (float) Math.pow(2.0f, (((8-iloc)*a0+iloc*a1)/8));
	}
calculates a fragment modification function
the interpolated gain value between the gain values of two gain change
positions is calculated by the formula:
f(a,b,j) = 2^(((8-j)log2(a)+j*log2(b))/8)