Manual cleanup of src/runtime/easing/index.js

pull/8569/head
S. Elliott Johnson 3 years ago
parent b6c83ad0b3
commit 50a32748b1

@ -3,7 +3,9 @@ Adapted from https://github.com/mattdesl
Distributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md Distributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md
*/ */
export { identity as linear } from '../internal'; export { identity as linear } from '../internal';
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function backInOut(t) { export function backInOut(t) {
@ -11,21 +13,27 @@ export function backInOut(t) {
if ((t *= 2) < 1) return 0.5 * (t * t * ((s + 1) * t - s)); if ((t *= 2) < 1) return 0.5 * (t * t * ((s + 1) * t - s));
return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2); return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function backIn(t) { export function backIn(t) {
const s = 1.70158; const s = 1.70158;
return t * t * ((s + 1) * t - s); return t * t * ((s + 1) * t - s);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function backOut(t) { export function backOut(t) {
const s = 1.70158; const s = 1.70158;
return --t * t * ((s + 1) * t + s) + 1; return --t * t * ((s + 1) * t + s) + 1;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function bounceOut(t) { export function bounceOut(t) {
@ -44,57 +52,75 @@ export function bounceOut(t) {
? ca * t2 - cb * t + cc ? ca * t2 - cb * t + cc
: 10.8 * t * t - 20.52 * t + 10.72; : 10.8 * t * t - 20.52 * t + 10.72;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function bounceInOut(t) { export function bounceInOut(t) {
return t < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0)) : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5; return t < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0)) : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function bounceIn(t) { export function bounceIn(t) {
return 1.0 - bounceOut(1.0 - t); return 1.0 - bounceOut(1.0 - t);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function circInOut(t) { export function circInOut(t) {
if ((t *= 2) < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1); if ((t *= 2) < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);
return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1); return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function circIn(t) { export function circIn(t) {
return 1.0 - Math.sqrt(1.0 - t * t); return 1.0 - Math.sqrt(1.0 - t * t);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function circOut(t) { export function circOut(t) {
return Math.sqrt(1 - --t * t); return Math.sqrt(1 - --t * t);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function cubicInOut(t) { export function cubicInOut(t) {
return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0; return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function cubicIn(t) { export function cubicIn(t) {
return t * t * t; return t * t * t;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function cubicOut(t) { export function cubicOut(t) {
const f = t - 1.0; const f = t - 1.0;
return f * f * f + 1.0; return f * f * f + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function elasticInOut(t) { export function elasticInOut(t) {
@ -105,19 +131,25 @@ export function elasticInOut(t) {
Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) + Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +
1.0; 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function elasticIn(t) { export function elasticIn(t) {
return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0)); return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function elasticOut(t) { export function elasticOut(t) {
return Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0; return Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function expoInOut(t) { export function expoInOut(t) {
@ -127,19 +159,25 @@ export function expoInOut(t) {
? +0.5 * Math.pow(2.0, 20.0 * t - 10.0) ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)
: -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0; : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function expoIn(t) { export function expoIn(t) {
return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0)); return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function expoOut(t) { export function expoOut(t) {
return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t); return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quadInOut(t) { export function quadInOut(t) {
@ -148,62 +186,82 @@ export function quadInOut(t) {
t--; t--;
return -0.5 * (t * (t - 2) - 1); return -0.5 * (t * (t - 2) - 1);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quadIn(t) { export function quadIn(t) {
return t * t; return t * t;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quadOut(t) { export function quadOut(t) {
return -t * (t - 2.0); return -t * (t - 2.0);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quartInOut(t) { export function quartInOut(t) {
return t < 0.5 ? +8.0 * Math.pow(t, 4.0) : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0; return t < 0.5 ? +8.0 * Math.pow(t, 4.0) : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quartIn(t) { export function quartIn(t) {
return Math.pow(t, 4.0); return Math.pow(t, 4.0);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quartOut(t) { export function quartOut(t) {
return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0; return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quintInOut(t) { export function quintInOut(t) {
if ((t *= 2) < 1) return 0.5 * t * t * t * t * t; if ((t *= 2) < 1) return 0.5 * t * t * t * t * t;
return 0.5 * ((t -= 2) * t * t * t * t + 2); return 0.5 * ((t -= 2) * t * t * t * t + 2);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quintIn(t) { export function quintIn(t) {
return t * t * t * t * t; return t * t * t * t * t;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function quintOut(t) { export function quintOut(t) {
return --t * t * t * t * t + 1; return --t * t * t * t * t + 1;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function sineInOut(t) { export function sineInOut(t) {
return -0.5 * (Math.cos(Math.PI * t) - 1); return -0.5 * (Math.cos(Math.PI * t) - 1);
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function sineIn(t) { export function sineIn(t) {
@ -211,7 +269,9 @@ export function sineIn(t) {
if (Math.abs(v) < 1e-14) return 1; if (Math.abs(v) < 1e-14) return 1;
else return 1 - v; else return 1 - v;
} }
/** @param {number} t
/**
* @param {number} t
* @returns {number} * @returns {number}
*/ */
export function sineOut(t) { export function sineOut(t) {

Loading…
Cancel
Save