private void Multi_CalculateWeights()
{
for (var i = 0; i < Noise.MAX_SOURCES; ++i)
{
expArray[i] = Math.Pow(Lacunarity, -i * H);
}
// Calculate scale/bias pairs by guessing at minimum and maximum values and remapping to [-1,1]
var minvalue = 1.0;
var maxvalue = 1.0;
for (var i = 0; i < Noise.MAX_SOURCES; ++i)
{
minvalue *= -1.0 * expArray[i] + 1.0;
maxvalue *= 1.0 * expArray[i] + 1.0;
const Double a = -1.0;
const Double b = 1.0;
var scale = (b - a) / (maxvalue - minvalue);
var bias = a - minvalue * scale;
correct[i, 0] = scale;
correct[i, 1] = bias;
}
}