public override Double Get(Double x, Double y)
{
var numsteps = Tiers;
if (this.Smooth) --numsteps;
var val = Source.Get(x, y);
var tb = Math.Floor(val * numsteps);
var tt = tb + 1.0;
var t = val * numsteps - tb;
tb /= numsteps;
tt /= numsteps;
var u = (this.Smooth ? MathHelper.QuinticBlend(t) : 0.0);
return tb + u * (tt - tb);
}