easeInOut method
Implementation
@override
double easeInOut(double k) {
double s, a = 0.1, p = 0.4;
if (k == 0) return 0;
if (k == 1) return 1;
if (a < 1) {
a = 1;
s = p / 4;
} else {
s = p * asin(1 / a) / (2 * pi);
}
if ((k *= 2) < 1) {
return -0.5 * (a * pow(2, 10 * (k -= 1)) * sin((k - s) * (2 * pi) / p));
}
return a * pow(2, -10 * (k -= 1)) * sin((k - s) * (2 * pi) / p) * 0.5 + 1;
}