@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 940 B
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import r from"./../assert/is-nan.js";import t from"./../assert/is-integer.js";import o from"./../../../constants/math/float64-pinf.js";import n from"./../../../constants/math/float64-ninf.js";import f from"./../../../constants/math/int32-max.js";function a(r,t){var o,n=0;if(0===r)return t;if(0===t)return r;for(;0==(1&r)&&0==(1&t);)r>>>=1,t>>>=1,n+=1;for(;0==(1&r);)r>>>=1;for(;t;){for(;0==(1&t);)t>>>=1;r>t&&(o=t,t=r,r=o),t-=r}return r<<n}function i(r,t){var o,n=1;if(0===r)return t;if(0===t)return r;for(;r%2==0&&t%2==0;)r/=2,t/=2,n*=2;for(;r%2==0;)r/=2;for(;t;){for(;t%2==0;)t/=2;r>t&&(o=t,t=r,r=o),t-=r}return n*r}var s=r,m=t,e=o,u=n,p=f,c=a,j=i;function v(r,t){return s(r)||s(t)||r===e||t===e||r===u||t===u?NaN:m(r)&&m(t)?(r<0&&(r=-r),t<0&&(t=-t),r<=p&&t<=p?c(r,t):j(r,t)):NaN}var N=v;export default N;
//# sourceMappingURL=gcd.js.map