@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.8 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import e from"./../../../assert/has-generator-support.js";import t from"./../special/abs.js";import r from"./../../../constants/math/float32-smallest-normal.js";import n from"./../../../constants/math/float64-eps.js";var o=t,a=r,l=n,i=1e6;function u(e,t,r){var n,l,i,u,f,s,m;if(u=(m=(n="function"==typeof e.next)?e.next().value:e())[1],i=m[0],0===u&&(u=a),f=u,s=0,!0===n)do{(m=e.next().value)&&(0===(s=m[1]+m[0]*s)&&(s=a),0===(f=m[1]+m[0]/f)&&(f=a),u*=l=f*(s=1/s))}while(o(l-1)>t&&--r);else do{(m=e())&&(0===(s=m[1]+m[0]*s)&&(s=a),0===(f=m[1]+m[0]/f)&&(f=a),u*=l=f*(s=1/s))}while(m&&o(l-1)>t&&--r);return i/u}function f(e,t,r){var n,l,i,u,f,s;if(0===(i=(s=(n="function"==typeof e.next)?e.next().value:e())[1])&&(i=a),u=i,f=0,!0===n)do{(s=e.next().value)&&(0===(f=s[1]+s[0]*f)&&(f=a),0===(u=s[1]+s[0]/u)&&(u=a),i*=l=u*(f=1/f))}while(s&&o(l-1)>t&&--r);else do{(s=e())&&(0===(f=s[1]+s[0]*f)&&(f=a),0===(u=s[1]+s[0]/u)&&(u=a),i*=l=u*(f=1/f))}while(s&&o(l-1)>t&&--r);return i}function s(e,t){var r,n,o;return n={},arguments.length>1&&(n=t),r=n.maxIter||i,o=n.tolerance||l,n.keep?f(e,o,r):u(e,o,r)}var m=t,c=n,p=r,v=1e6;function h(e,t,r){var n,o,a,l,i,u;i=(u=e())[1],o=u[0],0===i&&(i=p),a=i,l=0;do{(u=e())&&(0===(l=u[1]+u[0]*l)&&(l=p),0===(a=u[1]+u[0]/a)&&(a=p),i*=n=a*(l=1/l))}while(u&&m(n-1)>t&&--r);return o/i}function x(e,t,r){var n,o,a,l,i;0===(l=(i=e())[1])&&(l=p),o=l,a=0;do{(i=e())&&(0===(a=i[1]+i[0]*a)&&(a=p),0===(o=i[1]+i[0]/o)&&(o=p),l*=n=o*(a=1/a))}while(i&&m(n-1)>t&&--r);return l}function d(e,t){var r,n,o;return n={},arguments.length>1&&(n=t),o=n.tolerance||c,r=n.maxIter||v,n.keep?x(e,o,r):h(e,o,r)}var w,j=e,g=s,k=d,y=w=j()?g:k;export default y;
//# sourceMappingURL=continued-fraction.js.map