/*! * (C) Ionic http://ionicframework.com - MIT License */ var getTimeGivenProgression=function(t,a,r,e,i){return solveCubicBezier(t[1],a[1],r[1],e[1],i).map((function(i){return solveCubicParametricEquation(t[0],a[0],r[0],e[0],i)}))};var solveCubicParametricEquation=function(t,a,r,e,i){var n=3*a*Math.pow(i-1,2);var u=-3*r*i+3*r+e*i;var o=t*Math.pow(i-1,3);return i*(n+i*u)-o};var solveCubicBezier=function(t,a,r,e,i){t-=i;a-=i;r-=i;e-=i;var n=solveCubicEquation(e-3*r+3*a-t,3*r-6*a+3*t,3*a-3*t,t);return n.filter((function(t){return t>=0&&t<=1}))};var solveQuadraticEquation=function(t,a,r){var e=a*a-4*t*r;if(e<0){return[]}else{return[(-a+Math.sqrt(e))/(2*t),(-a-Math.sqrt(e))/(2*t)]}};var solveCubicEquation=function(t,a,r,e){if(t===0){return solveQuadraticEquation(a,r,e)}a/=t;r/=t;e/=t;var i=(3*r-a*a)/3;var n=(2*a*a*a-9*a*r+27*e)/27;if(i===0){return[Math.pow(-n,1/3)]}else if(n===0){return[Math.sqrt(-i),-Math.sqrt(-i)]}var u=Math.pow(n/2,2)+Math.pow(i/3,3);if(u===0){return[Math.pow(n/2,1/2)-a/3]}else if(u>0){return[Math.pow(-(n/2)+Math.sqrt(u),1/3)-Math.pow(n/2+Math.sqrt(u),1/3)-a/3]}var o=Math.sqrt(Math.pow(-(i/3),3));var v=Math.acos(-(n/(2*Math.sqrt(Math.pow(-(i/3),3)))));var h=2*Math.pow(o,1/3);return[h*Math.cos(v/3)-a/3,h*Math.cos((v+2*Math.PI)/3)-a/3,h*Math.cos((v+4*Math.PI)/3)-a/3]};export{getTimeGivenProgression as g};