Module 90933

915 characters · in no known chunk
Dependencies
Required by (1)
Lazily required by (0)none
Requires (0)none
Lazily requires (0)none
Source Raw
function(e){var t=4,n=.001,r=1e-7,i=10,s=11,a=.1,o="function"==typeof Float32Array;function l(e,t){return 1-3*t+3*e}function u(e,t){return 3*t-6*e}function c(e){return 3*e}function d(e,t,n){return((l(t,n)*e+u(t,n))*e+c(t))*e}function _(e,t,n){return 3*l(t,n)*e*e+2*u(t,n)*e+c(t)}function f(e,t,n,s,a){var o,l,u=0;do(o=d(l=t+(n-t)/2,s,a)-e)>0?n=l:t=l;while(Math.abs(o)>r&&++u<i);return l}function p(e,n,r,i){for(var s=0;s<t;++s){var a=_(n,r,i);if(0===a)break;var o=d(n,r,i)-e;n-=o/a}return n}e.exports=function(e,t,r,i){if(!(0<=e&&e<=1&&0<=r&&r<=1))throw Error("bezier x values must be in [0, 1] range");var l=o?new Float32Array(s):Array(s);if(e!==t||r!==i)for(var u=0;u<s;++u)l[u]=d(u*a,e,r);function c(t){for(var i=0,o=1,u=s-1;o!==u&&l[o]<=t;++o)i+=a;var c=i+(t-l[--o])/(l[o+1]-l[o])*a,d=_(c,e,r);return d>=n?p(t,c,e,r):0===d?c:f(t,i,i+a,e,r)}return function(n){return e===t&&r===i?n:0===n?0:1===n?1:d(c(n),t,i)}}}