MCPcopy Create free account
hub / github.com/alignoth/alignoth / ke

Function ke

resources/vega.min.js:1235–1293  ·  view source on GitHub ↗
(t, e)

Source from the content-addressed store, hash-verified

1233 return n;
1234 }
1235 function ke(t, e) {
1236 let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
1237 r =
1238 arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1 / 0,
1239 i = arguments.length > 4 ? arguments[4] : void 0;
1240 if (
1241 ((e = Math.floor(e)),
1242 (n = Math.floor(Math.max(0, n))),
1243 (r = Math.floor(Math.min(t.length - 1, r))),
1244 !(n <= e && e <= r))
1245 )
1246 return t;
1247 for (
1248 i =
1249 void 0 === i
1250 ? de
1251 : (function () {
1252 let t =
1253 arguments.length > 0 && void 0 !== arguments[0]
1254 ? arguments[0]
1255 : Qt;
1256 if (t === Qt) return de;
1257 if ("function" != typeof t)
1258 throw new TypeError("compare is not a function");
1259 return (e, n) => {
1260 const r = t(e, n);
1261 return r || 0 === r ? r : (0 === t(n, n)) - (0 === t(e, e));
1262 };
1263 })(i);
1264 r > n;
1265
1266 ) {
1267 if (r - n > 600) {
1268 const o = r - n + 1,
1269 a = e - n + 1,
1270 s = Math.log(o),
1271 u = 0.5 * Math.exp((2 * s) / 3),
1272 l = 0.5 * Math.sqrt((s * u * (o - u)) / o) * (a - o / 2 < 0 ? -1 : 1);
1273 ke(
1274 t,
1275 e,
1276 Math.max(n, Math.floor(e - (a * u) / o + l)),
1277 Math.min(r, Math.floor(e + ((o - a) * u) / o + l)),
1278 i,
1279 );
1280 }
1281 const o = t[e];
1282 let a = n,
1283 s = r;
1284 for (Ae(t, n, e), i(t[r], o) > 0 && Ae(t, n, r); a < s; ) {
1285 for (Ae(t, a, s), ++a, --s; i(t[a], o) < 0; ) ++a;
1286 for (; i(t[s], o) > 0; ) --s;
1287 }
1288 (0 === i(t[n], o) ? Ae(t, n, s) : (++s, Ae(t, s, r)),
1289 s <= e && (n = s + 1),
1290 e <= s && (r = s - 1));
1291 }
1292 return t;

Callers 1

MeFunction · 0.85

Calls 3

tFunction · 0.70
AeFunction · 0.70
iFunction · 0.70

Tested by

no test coverage detected