UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 905 B
// 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-positive-integer.js";import t from"./../../math/base/assert/is-nan.js";import i from"./../../constants/math/float64-pinf.js";import e from"./../../constants/math/float64-ninf.js";var n=r.isPrimitive,a=t,s=i,o=e;function f(r){var t,i,e,f,m;if(!n(r))throw new TypeError("invalid argument. Must provide a positive integer. Value: `"+r+"`.");return t=new Array(r),i=s,e=o,m=-1,f=0,function(n){var s,o;if(0===arguments.length)return 0===f?null:(e+i)/2;m=(m+1)%r,0===n&&(n=0);if(a(n))f=r,i=n,e=n;else if(f<r)f+=1,n<i&&(i=n),n>e&&(e=n);else if(t[m]===i&&n>i||t[m]===e&&n<e||a(t[m])){for(i=n,e=n,o=0;o<r;o++)if(o!==m){if(s=t[o],a(s)){i=s,e=s;break}s<i&&(i=s),s>e&&(e=s)}}else n<i?i=n:n>e&&(e=n);return t[m]=n,(e+i)/2}}var m=f;export default m; //# sourceMappingURL=mmidrange.js.map