EaseElasticInOut method
Implementation
double EaseElasticInOut(num t, num b, num c, num d)
{
if (t == 0.0) return b.toDouble();
if ((t/=d/2.0) == 2.0) return (b + c).toDouble();
final p = d*(0.3*1.5);
final a = c;
final s = p/4.0;
if (t < 1.0) {
final postFix = a*math.pow(2.0, 10.0*(t-=1.0));
return -0.5*(postFix*math.sin((t*d-s)*(2.0*rl.PI)/p)) + b;
}
final postFix = a*math.pow(2.0, -10.0*(t-=1.0));
return (postFix*math.sin((t*d-s)*(2.0*rl.PI)/p)*0.5 + c + b);
}