2290 lines
56 KiB
JavaScript
2290 lines
56 KiB
JavaScript
/* !!! This is code generated by Prisma. Do not edit directly. !!!
|
|
/* eslint-disable */
|
|
// biome-ignore-all lint: generated file
|
|
"use strict";
|
|
var pe = Object.defineProperty;
|
|
var Xe = Object.getOwnPropertyDescriptor;
|
|
var Ke = Object.getOwnPropertyNames;
|
|
var Qe = Object.prototype.hasOwnProperty;
|
|
var Ye = (e) => {
|
|
throw TypeError(e);
|
|
};
|
|
var Oe = (e, n) => {
|
|
for (var i in n) pe(e, i, { get: n[i], enumerable: !0 });
|
|
},
|
|
xe = (e, n, i, t) => {
|
|
if ((n && typeof n == "object") || typeof n == "function")
|
|
for (let r of Ke(n))
|
|
!Qe.call(e, r) &&
|
|
r !== i &&
|
|
pe(e, r, {
|
|
get: () => n[r],
|
|
enumerable: !(t = Xe(n, r)) || t.enumerable,
|
|
});
|
|
return e;
|
|
};
|
|
var ze = (e) => xe(pe({}, "__esModule", { value: !0 }), e);
|
|
var ne = (e, n, i) =>
|
|
n.has(e)
|
|
? Ye("Cannot add the same private member more than once")
|
|
: n instanceof WeakSet
|
|
? n.add(e)
|
|
: n.set(e, i);
|
|
var ii = {};
|
|
Oe(ii, {
|
|
Decimal: () => Je,
|
|
Public: () => ge,
|
|
getRuntime: () => _e,
|
|
makeStrictEnum: () => qe,
|
|
objectEnumValues: () => Ae,
|
|
});
|
|
module.exports = ze(ii);
|
|
var ge = {};
|
|
Oe(ge, { validator: () => Re });
|
|
function Re(...e) {
|
|
return (n) => n;
|
|
}
|
|
var ie = Symbol(),
|
|
me = new WeakMap(),
|
|
we = class {
|
|
constructor(n) {
|
|
n === ie
|
|
? me.set(this, "Prisma.".concat(this._getName()))
|
|
: me.set(
|
|
this,
|
|
"new Prisma."
|
|
.concat(this._getNamespace(), ".")
|
|
.concat(this._getName(), "()"),
|
|
);
|
|
}
|
|
_getName() {
|
|
return this.constructor.name;
|
|
}
|
|
toString() {
|
|
return me.get(this);
|
|
}
|
|
},
|
|
G = class extends we {
|
|
_getNamespace() {
|
|
return "NullTypes";
|
|
}
|
|
},
|
|
Ne,
|
|
J = class extends G {
|
|
constructor() {
|
|
super(...arguments);
|
|
ne(this, Ne);
|
|
}
|
|
};
|
|
Ne = new WeakMap();
|
|
ke(J, "DbNull");
|
|
var ve,
|
|
X = class extends G {
|
|
constructor() {
|
|
super(...arguments);
|
|
ne(this, ve);
|
|
}
|
|
};
|
|
ve = new WeakMap();
|
|
ke(X, "JsonNull");
|
|
var Ee,
|
|
K = class extends G {
|
|
constructor() {
|
|
super(...arguments);
|
|
ne(this, Ee);
|
|
}
|
|
};
|
|
Ee = new WeakMap();
|
|
ke(K, "AnyNull");
|
|
var Ae = {
|
|
classes: { DbNull: J, JsonNull: X, AnyNull: K },
|
|
instances: { DbNull: new J(ie), JsonNull: new X(ie), AnyNull: new K(ie) },
|
|
};
|
|
function ke(e, n) {
|
|
Object.defineProperty(e, "name", { value: n, configurable: !0 });
|
|
}
|
|
var ye = new Set([
|
|
"toJSON",
|
|
"$$typeof",
|
|
"asymmetricMatch",
|
|
Symbol.iterator,
|
|
Symbol.toStringTag,
|
|
Symbol.isConcatSpreadable,
|
|
Symbol.toPrimitive,
|
|
]);
|
|
function qe(e) {
|
|
return new Proxy(e, {
|
|
get(n, i) {
|
|
if (i in n) return n[i];
|
|
if (!ye.has(i))
|
|
throw new TypeError("Invalid enum value: ".concat(String(i)));
|
|
},
|
|
});
|
|
}
|
|
var en = () => {
|
|
var e, n;
|
|
return (
|
|
((n = (e = globalThis.process) == null ? void 0 : e.release) == null
|
|
? void 0
|
|
: n.name) === "node"
|
|
);
|
|
},
|
|
nn = () => {
|
|
var e, n;
|
|
return (
|
|
!!globalThis.Bun ||
|
|
!!(
|
|
(n = (e = globalThis.process) == null ? void 0 : e.versions) != null &&
|
|
n.bun
|
|
)
|
|
);
|
|
},
|
|
tn = () => !!globalThis.Deno,
|
|
rn = () => typeof globalThis.Netlify == "object",
|
|
sn = () => typeof globalThis.EdgeRuntime == "object",
|
|
on = () => {
|
|
var e;
|
|
return (
|
|
((e = globalThis.navigator) == null ? void 0 : e.userAgent) ===
|
|
"Cloudflare-Workers"
|
|
);
|
|
};
|
|
function un() {
|
|
var i;
|
|
return (i = [
|
|
[rn, "netlify"],
|
|
[sn, "edge-light"],
|
|
[on, "workerd"],
|
|
[tn, "deno"],
|
|
[nn, "bun"],
|
|
[en, "node"],
|
|
]
|
|
.flatMap((t) => (t[0]() ? [t[1]] : []))
|
|
.at(0)) != null
|
|
? i
|
|
: "";
|
|
}
|
|
var fn = {
|
|
node: "Node.js",
|
|
workerd: "Cloudflare Workers",
|
|
deno: "Deno and Deno Deploy",
|
|
netlify: "Netlify Edge Functions",
|
|
"edge-light":
|
|
"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)",
|
|
};
|
|
function _e() {
|
|
let e = un();
|
|
return {
|
|
id: e,
|
|
prettyName: fn[e] || e,
|
|
isEdge: ["workerd", "deno", "netlify", "edge-light"].includes(e),
|
|
};
|
|
}
|
|
var V = 9e15,
|
|
H = 1e9,
|
|
Se = "0123456789abcdef",
|
|
se =
|
|
"2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",
|
|
oe =
|
|
"3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",
|
|
Me = {
|
|
precision: 20,
|
|
rounding: 4,
|
|
modulo: 1,
|
|
toExpNeg: -7,
|
|
toExpPos: 21,
|
|
minE: -V,
|
|
maxE: V,
|
|
crypto: !1,
|
|
},
|
|
Le,
|
|
Z,
|
|
w = !0,
|
|
fe = "[DecimalError] ",
|
|
$ = fe + "Invalid argument: ",
|
|
Ie = fe + "Precision limit exceeded",
|
|
Ze = fe + "crypto unavailable",
|
|
Ue = "[object Decimal]",
|
|
R = Math.floor,
|
|
C = Math.pow,
|
|
cn = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,
|
|
ln = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,
|
|
an = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,
|
|
Be = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
|
|
D = 1e7,
|
|
m = 7,
|
|
dn = 9007199254740991,
|
|
hn = se.length - 1,
|
|
Ce = oe.length - 1,
|
|
h = { toStringTag: Ue };
|
|
h.absoluteValue = h.abs = function () {
|
|
var e = new this.constructor(this);
|
|
return (e.s < 0 && (e.s = 1), p(e));
|
|
};
|
|
h.ceil = function () {
|
|
return p(new this.constructor(this), this.e + 1, 2);
|
|
};
|
|
h.clampedTo = h.clamp = function (e, n) {
|
|
var i,
|
|
t = this,
|
|
r = t.constructor;
|
|
if (((e = new r(e)), (n = new r(n)), !e.s || !n.s)) return new r(NaN);
|
|
if (e.gt(n)) throw Error($ + n);
|
|
return ((i = t.cmp(e)), i < 0 ? e : t.cmp(n) > 0 ? n : new r(t));
|
|
};
|
|
h.comparedTo = h.cmp = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s = this,
|
|
o = s.d,
|
|
u = (e = new s.constructor(e)).d,
|
|
c = s.s,
|
|
f = e.s;
|
|
if (!o || !u)
|
|
return !c || !f ? NaN : c !== f ? c : o === u ? 0 : !o ^ (c < 0) ? 1 : -1;
|
|
if (!o[0] || !u[0]) return o[0] ? c : u[0] ? -f : 0;
|
|
if (c !== f) return c;
|
|
if (s.e !== e.e) return (s.e > e.e) ^ (c < 0) ? 1 : -1;
|
|
for (t = o.length, r = u.length, n = 0, i = t < r ? t : r; n < i; ++n)
|
|
if (o[n] !== u[n]) return (o[n] > u[n]) ^ (c < 0) ? 1 : -1;
|
|
return t === r ? 0 : (t > r) ^ (c < 0) ? 1 : -1;
|
|
};
|
|
h.cosine = h.cos = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return i.d
|
|
? i.d[0]
|
|
? ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + Math.max(i.e, i.sd()) + m),
|
|
(t.rounding = 1),
|
|
(i = pn(t, We(t, i))),
|
|
(t.precision = e),
|
|
(t.rounding = n),
|
|
p(Z == 2 || Z == 3 ? i.neg() : i, e, n, !0))
|
|
: new t(1)
|
|
: new t(NaN);
|
|
};
|
|
h.cubeRoot = h.cbrt = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l = this,
|
|
a = l.constructor;
|
|
if (!l.isFinite() || l.isZero()) return new a(l);
|
|
for (
|
|
w = !1,
|
|
s = l.s * C(l.s * l, 1 / 3),
|
|
!s || Math.abs(s) == 1 / 0
|
|
? ((i = b(l.d)),
|
|
(e = l.e),
|
|
(s = (e - i.length + 1) % 3) && (i += s == 1 || s == -2 ? "0" : "00"),
|
|
(s = C(i, 1 / 3)),
|
|
(e = R((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2))),
|
|
s == 1 / 0
|
|
? (i = "5e" + e)
|
|
: ((i = s.toExponential()),
|
|
(i = i.slice(0, i.indexOf("e") + 1) + e)),
|
|
(t = new a(i)),
|
|
(t.s = l.s))
|
|
: (t = new a(s.toString())),
|
|
o = (e = a.precision) + 3;
|
|
;
|
|
)
|
|
if (
|
|
((u = t),
|
|
(c = u.times(u).times(u)),
|
|
(f = c.plus(l)),
|
|
(t = k(f.plus(l).times(u), f.plus(c), o + 2, 1)),
|
|
b(u.d).slice(0, o) === (i = b(t.d)).slice(0, o))
|
|
)
|
|
if (((i = i.slice(o - 3, o + 1)), i == "9999" || (!r && i == "4999"))) {
|
|
if (!r && (p(u, e + 1, 0), u.times(u).times(u).eq(l))) {
|
|
t = u;
|
|
break;
|
|
}
|
|
((o += 4), (r = 1));
|
|
} else {
|
|
(!+i || (!+i.slice(1) && i.charAt(0) == "5")) &&
|
|
(p(t, e + 1, 1), (n = !t.times(t).times(t).eq(l)));
|
|
break;
|
|
}
|
|
return ((w = !0), p(t, e, a.rounding, n));
|
|
};
|
|
h.decimalPlaces = h.dp = function () {
|
|
var e,
|
|
n = this.d,
|
|
i = NaN;
|
|
if (n) {
|
|
if (((e = n.length - 1), (i = (e - R(this.e / m)) * m), (e = n[e]), e))
|
|
for (; e % 10 == 0; e /= 10) i--;
|
|
i < 0 && (i = 0);
|
|
}
|
|
return i;
|
|
};
|
|
h.dividedBy = h.div = function (e) {
|
|
return k(this, new this.constructor(e));
|
|
};
|
|
h.dividedToIntegerBy = h.divToInt = function (e) {
|
|
var n = this,
|
|
i = n.constructor;
|
|
return p(k(n, new i(e), 0, 1, 1), i.precision, i.rounding);
|
|
};
|
|
h.equals = h.eq = function (e) {
|
|
return this.cmp(e) === 0;
|
|
};
|
|
h.floor = function () {
|
|
return p(new this.constructor(this), this.e + 1, 3);
|
|
};
|
|
h.greaterThan = h.gt = function (e) {
|
|
return this.cmp(e) > 0;
|
|
};
|
|
h.greaterThanOrEqualTo = h.gte = function (e) {
|
|
var n = this.cmp(e);
|
|
return n == 1 || n === 0;
|
|
};
|
|
h.hyperbolicCosine = h.cosh = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r,
|
|
s = this,
|
|
o = s.constructor,
|
|
u = new o(1);
|
|
if (!s.isFinite()) return new o(s.s ? 1 / 0 : NaN);
|
|
if (s.isZero()) return u;
|
|
((i = o.precision),
|
|
(t = o.rounding),
|
|
(o.precision = i + Math.max(s.e, s.sd()) + 4),
|
|
(o.rounding = 1),
|
|
(r = s.d.length),
|
|
r < 32
|
|
? ((e = Math.ceil(r / 3)), (n = (1 / le(4, e)).toString()))
|
|
: ((e = 16), (n = "2.3283064365386962890625e-10")),
|
|
(s = j(o, 1, s.times(n), new o(1), !0)));
|
|
for (var c, f = e, l = new o(8); f--; )
|
|
((c = s.times(s)), (s = u.minus(c.times(l.minus(c.times(l))))));
|
|
return p(s, (o.precision = i), (o.rounding = t), !0);
|
|
};
|
|
h.hyperbolicSine = h.sinh = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r = this,
|
|
s = r.constructor;
|
|
if (!r.isFinite() || r.isZero()) return new s(r);
|
|
if (
|
|
((n = s.precision),
|
|
(i = s.rounding),
|
|
(s.precision = n + Math.max(r.e, r.sd()) + 4),
|
|
(s.rounding = 1),
|
|
(t = r.d.length),
|
|
t < 3)
|
|
)
|
|
r = j(s, 2, r, r, !0);
|
|
else {
|
|
((e = 1.4 * Math.sqrt(t)),
|
|
(e = e > 16 ? 16 : e | 0),
|
|
(r = r.times(1 / le(5, e))),
|
|
(r = j(s, 2, r, r, !0)));
|
|
for (var o, u = new s(5), c = new s(16), f = new s(20); e--; )
|
|
((o = r.times(r)), (r = r.times(u.plus(o.times(c.times(o).plus(f))))));
|
|
}
|
|
return ((s.precision = n), (s.rounding = i), p(r, n, i, !0));
|
|
};
|
|
h.hyperbolicTangent = h.tanh = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return i.isFinite()
|
|
? i.isZero()
|
|
? new t(i)
|
|
: ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + 7),
|
|
(t.rounding = 1),
|
|
k(i.sinh(), i.cosh(), (t.precision = e), (t.rounding = n)))
|
|
: new t(i.s);
|
|
};
|
|
h.inverseCosine = h.acos = function () {
|
|
var e = this,
|
|
n = e.constructor,
|
|
i = e.abs().cmp(1),
|
|
t = n.precision,
|
|
r = n.rounding;
|
|
return i !== -1
|
|
? i === 0
|
|
? e.isNeg()
|
|
? F(n, t, r)
|
|
: new n(0)
|
|
: new n(NaN)
|
|
: e.isZero()
|
|
? F(n, t + 4, r).times(0.5)
|
|
: ((n.precision = t + 6),
|
|
(n.rounding = 1),
|
|
(e = new n(1).minus(e).div(e.plus(1)).sqrt().atan()),
|
|
(n.precision = t),
|
|
(n.rounding = r),
|
|
e.times(2));
|
|
};
|
|
h.inverseHyperbolicCosine = h.acosh = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return i.lte(1)
|
|
? new t(i.eq(1) ? 0 : NaN)
|
|
: i.isFinite()
|
|
? ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + Math.max(Math.abs(i.e), i.sd()) + 4),
|
|
(t.rounding = 1),
|
|
(w = !1),
|
|
(i = i.times(i).minus(1).sqrt().plus(i)),
|
|
(w = !0),
|
|
(t.precision = e),
|
|
(t.rounding = n),
|
|
i.ln())
|
|
: new t(i);
|
|
};
|
|
h.inverseHyperbolicSine = h.asinh = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return !i.isFinite() || i.isZero()
|
|
? new t(i)
|
|
: ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + 2 * Math.max(Math.abs(i.e), i.sd()) + 6),
|
|
(t.rounding = 1),
|
|
(w = !1),
|
|
(i = i.times(i).plus(1).sqrt().plus(i)),
|
|
(w = !0),
|
|
(t.precision = e),
|
|
(t.rounding = n),
|
|
i.ln());
|
|
};
|
|
h.inverseHyperbolicTangent = h.atanh = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r = this,
|
|
s = r.constructor;
|
|
return r.isFinite()
|
|
? r.e >= 0
|
|
? new s(r.abs().eq(1) ? r.s / 0 : r.isZero() ? r : NaN)
|
|
: ((e = s.precision),
|
|
(n = s.rounding),
|
|
(t = r.sd()),
|
|
Math.max(t, e) < 2 * -r.e - 1
|
|
? p(new s(r), e, n, !0)
|
|
: ((s.precision = i = t - r.e),
|
|
(r = k(r.plus(1), new s(1).minus(r), i + e, 1)),
|
|
(s.precision = e + 4),
|
|
(s.rounding = 1),
|
|
(r = r.ln()),
|
|
(s.precision = e),
|
|
(s.rounding = n),
|
|
r.times(0.5)))
|
|
: new s(NaN);
|
|
};
|
|
h.inverseSine = h.asin = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r = this,
|
|
s = r.constructor;
|
|
return r.isZero()
|
|
? new s(r)
|
|
: ((n = r.abs().cmp(1)),
|
|
(i = s.precision),
|
|
(t = s.rounding),
|
|
n !== -1
|
|
? n === 0
|
|
? ((e = F(s, i + 4, t).times(0.5)), (e.s = r.s), e)
|
|
: new s(NaN)
|
|
: ((s.precision = i + 6),
|
|
(s.rounding = 1),
|
|
(r = r.div(new s(1).minus(r.times(r)).sqrt().plus(1)).atan()),
|
|
(s.precision = i),
|
|
(s.rounding = t),
|
|
r.times(2)));
|
|
};
|
|
h.inverseTangent = h.atan = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f = this,
|
|
l = f.constructor,
|
|
a = l.precision,
|
|
d = l.rounding;
|
|
if (f.isFinite()) {
|
|
if (f.isZero()) return new l(f);
|
|
if (f.abs().eq(1) && a + 4 <= Ce)
|
|
return ((o = F(l, a + 4, d).times(0.25)), (o.s = f.s), o);
|
|
} else {
|
|
if (!f.s) return new l(NaN);
|
|
if (a + 4 <= Ce) return ((o = F(l, a + 4, d).times(0.5)), (o.s = f.s), o);
|
|
}
|
|
for (
|
|
l.precision = u = a + 10,
|
|
l.rounding = 1,
|
|
i = Math.min(28, (u / m + 2) | 0),
|
|
e = i;
|
|
e;
|
|
--e
|
|
)
|
|
f = f.div(f.times(f).plus(1).sqrt().plus(1));
|
|
for (
|
|
w = !1, n = Math.ceil(u / m), t = 1, c = f.times(f), o = new l(f), r = f;
|
|
e !== -1;
|
|
)
|
|
if (
|
|
((r = r.times(c)),
|
|
(s = o.minus(r.div((t += 2)))),
|
|
(r = r.times(c)),
|
|
(o = s.plus(r.div((t += 2)))),
|
|
o.d[n] !== void 0)
|
|
)
|
|
for (e = n; o.d[e] === s.d[e] && e--; );
|
|
return (
|
|
i && (o = o.times(2 << (i - 1))),
|
|
(w = !0),
|
|
p(o, (l.precision = a), (l.rounding = d), !0)
|
|
);
|
|
};
|
|
h.isFinite = function () {
|
|
return !!this.d;
|
|
};
|
|
h.isInteger = h.isInt = function () {
|
|
return !!this.d && R(this.e / m) > this.d.length - 2;
|
|
};
|
|
h.isNaN = function () {
|
|
return !this.s;
|
|
};
|
|
h.isNegative = h.isNeg = function () {
|
|
return this.s < 0;
|
|
};
|
|
h.isPositive = h.isPos = function () {
|
|
return this.s > 0;
|
|
};
|
|
h.isZero = function () {
|
|
return !!this.d && this.d[0] === 0;
|
|
};
|
|
h.lessThan = h.lt = function (e) {
|
|
return this.cmp(e) < 0;
|
|
};
|
|
h.lessThanOrEqualTo = h.lte = function (e) {
|
|
return this.cmp(e) < 1;
|
|
};
|
|
h.logarithm = h.log = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f = this,
|
|
l = f.constructor,
|
|
a = l.precision,
|
|
d = l.rounding,
|
|
g = 5;
|
|
if (e == null) ((e = new l(10)), (n = !0));
|
|
else {
|
|
if (((e = new l(e)), (i = e.d), e.s < 0 || !i || !i[0] || e.eq(1)))
|
|
return new l(NaN);
|
|
n = e.eq(10);
|
|
}
|
|
if (((i = f.d), f.s < 0 || !i || !i[0] || f.eq(1)))
|
|
return new l(i && !i[0] ? -1 / 0 : f.s != 1 ? NaN : i ? 0 : 1 / 0);
|
|
if (n)
|
|
if (i.length > 1) s = !0;
|
|
else {
|
|
for (r = i[0]; r % 10 === 0; ) r /= 10;
|
|
s = r !== 1;
|
|
}
|
|
if (
|
|
((w = !1),
|
|
(u = a + g),
|
|
(o = B(f, u)),
|
|
(t = n ? ue(l, u + 10) : B(e, u)),
|
|
(c = k(o, t, u, 1)),
|
|
Q(c.d, (r = a), d))
|
|
)
|
|
do
|
|
if (
|
|
((u += 10),
|
|
(o = B(f, u)),
|
|
(t = n ? ue(l, u + 10) : B(e, u)),
|
|
(c = k(o, t, u, 1)),
|
|
!s)
|
|
) {
|
|
+b(c.d).slice(r + 1, r + 15) + 1 == 1e14 && (c = p(c, a + 1, 0));
|
|
break;
|
|
}
|
|
while (Q(c.d, (r += 10), d));
|
|
return ((w = !0), p(c, a, d));
|
|
};
|
|
h.minus = h.sub = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a,
|
|
d,
|
|
g = this,
|
|
v = g.constructor;
|
|
if (((e = new v(e)), !g.d || !e.d))
|
|
return (
|
|
!g.s || !e.s
|
|
? (e = new v(NaN))
|
|
: g.d
|
|
? (e.s = -e.s)
|
|
: (e = new v(e.d || g.s !== e.s ? g : NaN)),
|
|
e
|
|
);
|
|
if (g.s != e.s) return ((e.s = -e.s), g.plus(e));
|
|
if (
|
|
((f = g.d), (d = e.d), (u = v.precision), (c = v.rounding), !f[0] || !d[0])
|
|
) {
|
|
if (d[0]) e.s = -e.s;
|
|
else if (f[0]) e = new v(g);
|
|
else return new v(c === 3 ? -0 : 0);
|
|
return w ? p(e, u, c) : e;
|
|
}
|
|
if (((i = R(e.e / m)), (l = R(g.e / m)), (f = f.slice()), (s = l - i), s)) {
|
|
for (
|
|
a = s < 0,
|
|
a
|
|
? ((n = f), (s = -s), (o = d.length))
|
|
: ((n = d), (i = l), (o = f.length)),
|
|
t = Math.max(Math.ceil(u / m), o) + 2,
|
|
s > t && ((s = t), (n.length = 1)),
|
|
n.reverse(),
|
|
t = s;
|
|
t--;
|
|
)
|
|
n.push(0);
|
|
n.reverse();
|
|
} else {
|
|
for (t = f.length, o = d.length, a = t < o, a && (o = t), t = 0; t < o; t++)
|
|
if (f[t] != d[t]) {
|
|
a = f[t] < d[t];
|
|
break;
|
|
}
|
|
s = 0;
|
|
}
|
|
for (
|
|
a && ((n = f), (f = d), (d = n), (e.s = -e.s)),
|
|
o = f.length,
|
|
t = d.length - o;
|
|
t > 0;
|
|
--t
|
|
)
|
|
f[o++] = 0;
|
|
for (t = d.length; t > s; ) {
|
|
if (f[--t] < d[t]) {
|
|
for (r = t; r && f[--r] === 0; ) f[r] = D - 1;
|
|
(--f[r], (f[t] += D));
|
|
}
|
|
f[t] -= d[t];
|
|
}
|
|
for (; f[--o] === 0; ) f.pop();
|
|
for (; f[0] === 0; f.shift()) --i;
|
|
return f[0]
|
|
? ((e.d = f), (e.e = ce(f, i)), w ? p(e, u, c) : e)
|
|
: new v(c === 3 ? -0 : 0);
|
|
};
|
|
h.modulo = h.mod = function (e) {
|
|
var n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return (
|
|
(e = new t(e)),
|
|
!i.d || !e.s || (e.d && !e.d[0])
|
|
? new t(NaN)
|
|
: !e.d || (i.d && !i.d[0])
|
|
? p(new t(i), t.precision, t.rounding)
|
|
: ((w = !1),
|
|
t.modulo == 9
|
|
? ((n = k(i, e.abs(), 0, 3, 1)), (n.s *= e.s))
|
|
: (n = k(i, e, 0, t.modulo, 1)),
|
|
(n = n.times(e)),
|
|
(w = !0),
|
|
i.minus(n))
|
|
);
|
|
};
|
|
h.naturalExponential = h.exp = function () {
|
|
return be(this);
|
|
};
|
|
h.naturalLogarithm = h.ln = function () {
|
|
return B(this);
|
|
};
|
|
h.negated = h.neg = function () {
|
|
var e = new this.constructor(this);
|
|
return ((e.s = -e.s), p(e));
|
|
};
|
|
h.plus = h.add = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a = this,
|
|
d = a.constructor;
|
|
if (((e = new d(e)), !a.d || !e.d))
|
|
return (
|
|
!a.s || !e.s
|
|
? (e = new d(NaN))
|
|
: a.d || (e = new d(e.d || a.s === e.s ? a : NaN)),
|
|
e
|
|
);
|
|
if (a.s != e.s) return ((e.s = -e.s), a.minus(e));
|
|
if (
|
|
((f = a.d), (l = e.d), (u = d.precision), (c = d.rounding), !f[0] || !l[0])
|
|
)
|
|
return (l[0] || (e = new d(a)), w ? p(e, u, c) : e);
|
|
if (((s = R(a.e / m)), (t = R(e.e / m)), (f = f.slice()), (r = s - t), r)) {
|
|
for (
|
|
r < 0
|
|
? ((i = f), (r = -r), (o = l.length))
|
|
: ((i = l), (t = s), (o = f.length)),
|
|
s = Math.ceil(u / m),
|
|
o = s > o ? s + 1 : o + 1,
|
|
r > o && ((r = o), (i.length = 1)),
|
|
i.reverse();
|
|
r--;
|
|
)
|
|
i.push(0);
|
|
i.reverse();
|
|
}
|
|
for (
|
|
o = f.length,
|
|
r = l.length,
|
|
o - r < 0 && ((r = o), (i = l), (l = f), (f = i)),
|
|
n = 0;
|
|
r;
|
|
)
|
|
((n = ((f[--r] = f[r] + l[r] + n) / D) | 0), (f[r] %= D));
|
|
for (n && (f.unshift(n), ++t), o = f.length; f[--o] == 0; ) f.pop();
|
|
return ((e.d = f), (e.e = ce(f, t)), w ? p(e, u, c) : e);
|
|
};
|
|
h.precision = h.sd = function (e) {
|
|
var n,
|
|
i = this;
|
|
if (e !== void 0 && e !== !!e && e !== 1 && e !== 0) throw Error($ + e);
|
|
return (
|
|
i.d ? ((n = $e(i.d)), e && i.e + 1 > n && (n = i.e + 1)) : (n = NaN),
|
|
n
|
|
);
|
|
};
|
|
h.round = function () {
|
|
var e = this,
|
|
n = e.constructor;
|
|
return p(new n(e), e.e + 1, n.rounding);
|
|
};
|
|
h.sine = h.sin = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return i.isFinite()
|
|
? i.isZero()
|
|
? new t(i)
|
|
: ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + Math.max(i.e, i.sd()) + m),
|
|
(t.rounding = 1),
|
|
(i = mn(t, We(t, i))),
|
|
(t.precision = e),
|
|
(t.rounding = n),
|
|
p(Z > 2 ? i.neg() : i, e, n, !0))
|
|
: new t(NaN);
|
|
};
|
|
h.squareRoot = h.sqrt = function () {
|
|
var e,
|
|
n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o = this,
|
|
u = o.d,
|
|
c = o.e,
|
|
f = o.s,
|
|
l = o.constructor;
|
|
if (f !== 1 || !u || !u[0])
|
|
return new l(!f || (f < 0 && (!u || u[0])) ? NaN : u ? o : 1 / 0);
|
|
for (
|
|
w = !1,
|
|
f = Math.sqrt(+o),
|
|
f == 0 || f == 1 / 0
|
|
? ((n = b(u)),
|
|
(n.length + c) % 2 == 0 && (n += "0"),
|
|
(f = Math.sqrt(n)),
|
|
(c = R((c + 1) / 2) - (c < 0 || c % 2)),
|
|
f == 1 / 0
|
|
? (n = "5e" + c)
|
|
: ((n = f.toExponential()),
|
|
(n = n.slice(0, n.indexOf("e") + 1) + c)),
|
|
(t = new l(n)))
|
|
: (t = new l(f.toString())),
|
|
i = (c = l.precision) + 3;
|
|
;
|
|
)
|
|
if (
|
|
((s = t),
|
|
(t = s.plus(k(o, s, i + 2, 1)).times(0.5)),
|
|
b(s.d).slice(0, i) === (n = b(t.d)).slice(0, i))
|
|
)
|
|
if (((n = n.slice(i - 3, i + 1)), n == "9999" || (!r && n == "4999"))) {
|
|
if (!r && (p(s, c + 1, 0), s.times(s).eq(o))) {
|
|
t = s;
|
|
break;
|
|
}
|
|
((i += 4), (r = 1));
|
|
} else {
|
|
(!+n || (!+n.slice(1) && n.charAt(0) == "5")) &&
|
|
(p(t, c + 1, 1), (e = !t.times(t).eq(o)));
|
|
break;
|
|
}
|
|
return ((w = !0), p(t, c, l.rounding, e));
|
|
};
|
|
h.tangent = h.tan = function () {
|
|
var e,
|
|
n,
|
|
i = this,
|
|
t = i.constructor;
|
|
return i.isFinite()
|
|
? i.isZero()
|
|
? new t(i)
|
|
: ((e = t.precision),
|
|
(n = t.rounding),
|
|
(t.precision = e + 10),
|
|
(t.rounding = 1),
|
|
(i = i.sin()),
|
|
(i.s = 1),
|
|
(i = k(i, new t(1).minus(i.times(i)).sqrt(), e + 10, 0)),
|
|
(t.precision = e),
|
|
(t.rounding = n),
|
|
p(Z == 2 || Z == 4 ? i.neg() : i, e, n, !0))
|
|
: new t(NaN);
|
|
};
|
|
h.times = h.mul = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l = this,
|
|
a = l.constructor,
|
|
d = l.d,
|
|
g = (e = new a(e)).d;
|
|
if (((e.s *= l.s), !d || !d[0] || !g || !g[0]))
|
|
return new a(
|
|
!e.s || (d && !d[0] && !g) || (g && !g[0] && !d)
|
|
? NaN
|
|
: !d || !g
|
|
? e.s / 0
|
|
: e.s * 0,
|
|
);
|
|
for (
|
|
i = R(l.e / m) + R(e.e / m),
|
|
c = d.length,
|
|
f = g.length,
|
|
c < f && ((s = d), (d = g), (g = s), (o = c), (c = f), (f = o)),
|
|
s = [],
|
|
o = c + f,
|
|
t = o;
|
|
t--;
|
|
)
|
|
s.push(0);
|
|
for (t = f; --t >= 0; ) {
|
|
for (n = 0, r = c + t; r > t; )
|
|
((u = s[r] + g[t] * d[r - t - 1] + n),
|
|
(s[r--] = (u % D) | 0),
|
|
(n = (u / D) | 0));
|
|
s[r] = ((s[r] + n) % D) | 0;
|
|
}
|
|
for (; !s[--o]; ) s.pop();
|
|
return (
|
|
n ? ++i : s.shift(),
|
|
(e.d = s),
|
|
(e.e = ce(s, i)),
|
|
w ? p(e, a.precision, a.rounding) : e
|
|
);
|
|
};
|
|
h.toBinary = function (e, n) {
|
|
return Pe(this, 2, e, n);
|
|
};
|
|
h.toDecimalPlaces = h.toDP = function (e, n) {
|
|
var i = this,
|
|
t = i.constructor;
|
|
return (
|
|
(i = new t(i)),
|
|
e === void 0
|
|
? i
|
|
: (q(e, 0, H),
|
|
n === void 0 ? (n = t.rounding) : q(n, 0, 8),
|
|
p(i, e + i.e + 1, n))
|
|
);
|
|
};
|
|
h.toExponential = function (e, n) {
|
|
var i,
|
|
t = this,
|
|
r = t.constructor;
|
|
return (
|
|
e === void 0
|
|
? (i = L(t, !0))
|
|
: (q(e, 0, H),
|
|
n === void 0 ? (n = r.rounding) : q(n, 0, 8),
|
|
(t = p(new r(t), e + 1, n)),
|
|
(i = L(t, !0, e + 1))),
|
|
t.isNeg() && !t.isZero() ? "-" + i : i
|
|
);
|
|
};
|
|
h.toFixed = function (e, n) {
|
|
var i,
|
|
t,
|
|
r = this,
|
|
s = r.constructor;
|
|
return (
|
|
e === void 0
|
|
? (i = L(r))
|
|
: (q(e, 0, H),
|
|
n === void 0 ? (n = s.rounding) : q(n, 0, 8),
|
|
(t = p(new s(r), e + r.e + 1, n)),
|
|
(i = L(t, !1, e + t.e + 1))),
|
|
r.isNeg() && !r.isZero() ? "-" + i : i
|
|
);
|
|
};
|
|
h.toFraction = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a,
|
|
d,
|
|
g = this,
|
|
v = g.d,
|
|
N = g.constructor;
|
|
if (!v) return new N(g);
|
|
if (
|
|
((f = i = new N(1)),
|
|
(t = c = new N(0)),
|
|
(n = new N(t)),
|
|
(s = n.e = $e(v) - g.e - 1),
|
|
(o = s % m),
|
|
(n.d[0] = C(10, o < 0 ? m + o : o)),
|
|
e == null)
|
|
)
|
|
e = s > 0 ? n : f;
|
|
else {
|
|
if (((u = new N(e)), !u.isInt() || u.lt(f))) throw Error($ + u);
|
|
e = u.gt(n) ? (s > 0 ? n : f) : u;
|
|
}
|
|
for (
|
|
w = !1,
|
|
u = new N(b(v)),
|
|
l = N.precision,
|
|
N.precision = s = v.length * m * 2;
|
|
(a = k(u, n, 0, 1, 1)), (r = i.plus(a.times(t))), r.cmp(e) != 1;
|
|
)
|
|
((i = t),
|
|
(t = r),
|
|
(r = f),
|
|
(f = c.plus(a.times(r))),
|
|
(c = r),
|
|
(r = n),
|
|
(n = u.minus(a.times(r))),
|
|
(u = r));
|
|
return (
|
|
(r = k(e.minus(i), t, 0, 1, 1)),
|
|
(c = c.plus(r.times(f))),
|
|
(i = i.plus(r.times(t))),
|
|
(c.s = f.s = g.s),
|
|
(d =
|
|
k(f, t, s, 1)
|
|
.minus(g)
|
|
.abs()
|
|
.cmp(k(c, i, s, 1).minus(g).abs()) < 1
|
|
? [f, t]
|
|
: [c, i]),
|
|
(N.precision = l),
|
|
(w = !0),
|
|
d
|
|
);
|
|
};
|
|
h.toHexadecimal = h.toHex = function (e, n) {
|
|
return Pe(this, 16, e, n);
|
|
};
|
|
h.toNearest = function (e, n) {
|
|
var i = this,
|
|
t = i.constructor;
|
|
if (((i = new t(i)), e == null)) {
|
|
if (!i.d) return i;
|
|
((e = new t(1)), (n = t.rounding));
|
|
} else {
|
|
if (((e = new t(e)), n === void 0 ? (n = t.rounding) : q(n, 0, 8), !i.d))
|
|
return e.s ? i : e;
|
|
if (!e.d) return (e.s && (e.s = i.s), e);
|
|
}
|
|
return (
|
|
e.d[0]
|
|
? ((w = !1), (i = k(i, e, 0, n, 1).times(e)), (w = !0), p(i))
|
|
: ((e.s = i.s), (i = e)),
|
|
i
|
|
);
|
|
};
|
|
h.toNumber = function () {
|
|
return +this;
|
|
};
|
|
h.toOctal = function (e, n) {
|
|
return Pe(this, 8, e, n);
|
|
};
|
|
h.toPower = h.pow = function (e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u = this,
|
|
c = u.constructor,
|
|
f = +(e = new c(e));
|
|
if (!u.d || !e.d || !u.d[0] || !e.d[0]) return new c(C(+u, f));
|
|
if (((u = new c(u)), u.eq(1))) return u;
|
|
if (((t = c.precision), (s = c.rounding), e.eq(1))) return p(u, t, s);
|
|
if (((n = R(e.e / m)), n >= e.d.length - 1 && (i = f < 0 ? -f : f) <= dn))
|
|
return ((r = He(c, u, i, t)), e.s < 0 ? new c(1).div(r) : p(r, t, s));
|
|
if (((o = u.s), o < 0)) {
|
|
if (n < e.d.length - 1) return new c(NaN);
|
|
if (
|
|
((e.d[n] & 1) == 0 && (o = 1), u.e == 0 && u.d[0] == 1 && u.d.length == 1)
|
|
)
|
|
return ((u.s = o), u);
|
|
}
|
|
return (
|
|
(i = C(+u, f)),
|
|
(n =
|
|
i == 0 || !isFinite(i)
|
|
? R(f * (Math.log("0." + b(u.d)) / Math.LN10 + u.e + 1))
|
|
: new c(i + "").e),
|
|
n > c.maxE + 1 || n < c.minE - 1
|
|
? new c(n > 0 ? o / 0 : 0)
|
|
: ((w = !1),
|
|
(c.rounding = u.s = 1),
|
|
(i = Math.min(12, (n + "").length)),
|
|
(r = be(e.times(B(u, t + i)), t)),
|
|
r.d &&
|
|
((r = p(r, t + 5, 1)),
|
|
Q(r.d, t, s) &&
|
|
((n = t + 10),
|
|
(r = p(be(e.times(B(u, n + i)), n), n + 5, 1)),
|
|
+b(r.d).slice(t + 1, t + 15) + 1 == 1e14 && (r = p(r, t + 1, 0)))),
|
|
(r.s = o),
|
|
(w = !0),
|
|
(c.rounding = s),
|
|
p(r, t, s))
|
|
);
|
|
};
|
|
h.toPrecision = function (e, n) {
|
|
var i,
|
|
t = this,
|
|
r = t.constructor;
|
|
return (
|
|
e === void 0
|
|
? (i = L(t, t.e <= r.toExpNeg || t.e >= r.toExpPos))
|
|
: (q(e, 1, H),
|
|
n === void 0 ? (n = r.rounding) : q(n, 0, 8),
|
|
(t = p(new r(t), e, n)),
|
|
(i = L(t, e <= t.e || t.e <= r.toExpNeg, e))),
|
|
t.isNeg() && !t.isZero() ? "-" + i : i
|
|
);
|
|
};
|
|
h.toSignificantDigits = h.toSD = function (e, n) {
|
|
var i = this,
|
|
t = i.constructor;
|
|
return (
|
|
e === void 0
|
|
? ((e = t.precision), (n = t.rounding))
|
|
: (q(e, 1, H), n === void 0 ? (n = t.rounding) : q(n, 0, 8)),
|
|
p(new t(i), e, n)
|
|
);
|
|
};
|
|
h.toString = function () {
|
|
var e = this,
|
|
n = e.constructor,
|
|
i = L(e, e.e <= n.toExpNeg || e.e >= n.toExpPos);
|
|
return e.isNeg() && !e.isZero() ? "-" + i : i;
|
|
};
|
|
h.truncated = h.trunc = function () {
|
|
return p(new this.constructor(this), this.e + 1, 1);
|
|
};
|
|
h.valueOf = h.toJSON = function () {
|
|
var e = this,
|
|
n = e.constructor,
|
|
i = L(e, e.e <= n.toExpNeg || e.e >= n.toExpPos);
|
|
return e.isNeg() ? "-" + i : i;
|
|
};
|
|
function b(e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r = e.length - 1,
|
|
s = "",
|
|
o = e[0];
|
|
if (r > 0) {
|
|
for (s += o, n = 1; n < r; n++)
|
|
((t = e[n] + ""), (i = m - t.length), i && (s += U(i)), (s += t));
|
|
((o = e[n]), (t = o + ""), (i = m - t.length), i && (s += U(i)));
|
|
} else if (o === 0) return "0";
|
|
for (; o % 10 === 0; ) o /= 10;
|
|
return s + o;
|
|
}
|
|
function q(e, n, i) {
|
|
if (e !== ~~e || e < n || e > i) throw Error($ + e);
|
|
}
|
|
function Q(e, n, i, t) {
|
|
var r, s, o, u;
|
|
for (s = e[0]; s >= 10; s /= 10) --n;
|
|
return (
|
|
--n < 0 ? ((n += m), (r = 0)) : ((r = Math.ceil((n + 1) / m)), (n %= m)),
|
|
(s = C(10, m - n)),
|
|
(u = (e[r] % s) | 0),
|
|
t == null
|
|
? n < 3
|
|
? (n == 0 ? (u = (u / 100) | 0) : n == 1 && (u = (u / 10) | 0),
|
|
(o =
|
|
(i < 4 && u == 99999) ||
|
|
(i > 3 && u == 49999) ||
|
|
u == 5e4 ||
|
|
u == 0))
|
|
: (o =
|
|
(((i < 4 && u + 1 == s) || (i > 3 && u + 1 == s / 2)) &&
|
|
((e[r + 1] / s / 100) | 0) == C(10, n - 2) - 1) ||
|
|
((u == s / 2 || u == 0) && ((e[r + 1] / s / 100) | 0) == 0))
|
|
: n < 4
|
|
? (n == 0
|
|
? (u = (u / 1e3) | 0)
|
|
: n == 1
|
|
? (u = (u / 100) | 0)
|
|
: n == 2 && (u = (u / 10) | 0),
|
|
(o = ((t || i < 4) && u == 9999) || (!t && i > 3 && u == 4999)))
|
|
: (o =
|
|
(((t || i < 4) && u + 1 == s) || (!t && i > 3 && u + 1 == s / 2)) &&
|
|
((e[r + 1] / s / 1e3) | 0) == C(10, n - 3) - 1),
|
|
o
|
|
);
|
|
}
|
|
function te(e, n, i) {
|
|
for (var t, r = [0], s, o = 0, u = e.length; o < u; ) {
|
|
for (s = r.length; s--; ) r[s] *= n;
|
|
for (r[0] += Se.indexOf(e.charAt(o++)), t = 0; t < r.length; t++)
|
|
r[t] > i - 1 &&
|
|
(r[t + 1] === void 0 && (r[t + 1] = 0),
|
|
(r[t + 1] += (r[t] / i) | 0),
|
|
(r[t] %= i));
|
|
}
|
|
return r.reverse();
|
|
}
|
|
function pn(e, n) {
|
|
var i, t, r;
|
|
if (n.isZero()) return n;
|
|
((t = n.d.length),
|
|
t < 32
|
|
? ((i = Math.ceil(t / 3)), (r = (1 / le(4, i)).toString()))
|
|
: ((i = 16), (r = "2.3283064365386962890625e-10")),
|
|
(e.precision += i),
|
|
(n = j(e, 1, n.times(r), new e(1))));
|
|
for (var s = i; s--; ) {
|
|
var o = n.times(n);
|
|
n = o.times(o).minus(o).times(8).plus(1);
|
|
}
|
|
return ((e.precision -= i), n);
|
|
}
|
|
var k = (function () {
|
|
function e(t, r, s) {
|
|
var o,
|
|
u = 0,
|
|
c = t.length;
|
|
for (t = t.slice(); c--; )
|
|
((o = t[c] * r + u), (t[c] = (o % s) | 0), (u = (o / s) | 0));
|
|
return (u && t.unshift(u), t);
|
|
}
|
|
function n(t, r, s, o) {
|
|
var u, c;
|
|
if (s != o) c = s > o ? 1 : -1;
|
|
else
|
|
for (u = c = 0; u < s; u++)
|
|
if (t[u] != r[u]) {
|
|
c = t[u] > r[u] ? 1 : -1;
|
|
break;
|
|
}
|
|
return c;
|
|
}
|
|
function i(t, r, s, o) {
|
|
for (var u = 0; s--; )
|
|
((t[s] -= u), (u = t[s] < r[s] ? 1 : 0), (t[s] = u * o + t[s] - r[s]));
|
|
for (; !t[0] && t.length > 1; ) t.shift();
|
|
}
|
|
return function (t, r, s, o, u, c) {
|
|
var f,
|
|
l,
|
|
a,
|
|
d,
|
|
g,
|
|
v,
|
|
N,
|
|
A,
|
|
M,
|
|
_,
|
|
E,
|
|
P,
|
|
x,
|
|
I,
|
|
ae,
|
|
z,
|
|
W,
|
|
de,
|
|
T,
|
|
y,
|
|
ee = t.constructor,
|
|
he = t.s == r.s ? 1 : -1,
|
|
O = t.d,
|
|
S = r.d;
|
|
if (!O || !O[0] || !S || !S[0])
|
|
return new ee(
|
|
!t.s || !r.s || (O ? S && O[0] == S[0] : !S)
|
|
? NaN
|
|
: (O && O[0] == 0) || !S
|
|
? he * 0
|
|
: he / 0,
|
|
);
|
|
for (
|
|
c
|
|
? ((g = 1), (l = t.e - r.e))
|
|
: ((c = D), (g = m), (l = R(t.e / g) - R(r.e / g))),
|
|
T = S.length,
|
|
W = O.length,
|
|
M = new ee(he),
|
|
_ = M.d = [],
|
|
a = 0;
|
|
S[a] == (O[a] || 0);
|
|
a++
|
|
);
|
|
if (
|
|
(S[a] > (O[a] || 0) && l--,
|
|
s == null
|
|
? ((I = s = ee.precision), (o = ee.rounding))
|
|
: u
|
|
? (I = s + (t.e - r.e) + 1)
|
|
: (I = s),
|
|
I < 0)
|
|
)
|
|
(_.push(1), (v = !0));
|
|
else {
|
|
if (((I = (I / g + 2) | 0), (a = 0), T == 1)) {
|
|
for (d = 0, S = S[0], I++; (a < W || d) && I--; a++)
|
|
((ae = d * c + (O[a] || 0)),
|
|
(_[a] = (ae / S) | 0),
|
|
(d = (ae % S) | 0));
|
|
v = d || a < W;
|
|
} else {
|
|
for (
|
|
d = (c / (S[0] + 1)) | 0,
|
|
d > 1 &&
|
|
((S = e(S, d, c)),
|
|
(O = e(O, d, c)),
|
|
(T = S.length),
|
|
(W = O.length)),
|
|
z = T,
|
|
E = O.slice(0, T),
|
|
P = E.length;
|
|
P < T;
|
|
)
|
|
E[P++] = 0;
|
|
((y = S.slice()), y.unshift(0), (de = S[0]), S[1] >= c / 2 && ++de);
|
|
do
|
|
((d = 0),
|
|
(f = n(S, E, T, P)),
|
|
f < 0
|
|
? ((x = E[0]),
|
|
T != P && (x = x * c + (E[1] || 0)),
|
|
(d = (x / de) | 0),
|
|
d > 1
|
|
? (d >= c && (d = c - 1),
|
|
(N = e(S, d, c)),
|
|
(A = N.length),
|
|
(P = E.length),
|
|
(f = n(N, E, A, P)),
|
|
f == 1 && (d--, i(N, T < A ? y : S, A, c)))
|
|
: (d == 0 && (f = d = 1), (N = S.slice())),
|
|
(A = N.length),
|
|
A < P && N.unshift(0),
|
|
i(E, N, P, c),
|
|
f == -1 &&
|
|
((P = E.length),
|
|
(f = n(S, E, T, P)),
|
|
f < 1 && (d++, i(E, T < P ? y : S, P, c))),
|
|
(P = E.length))
|
|
: f === 0 && (d++, (E = [0])),
|
|
(_[a++] = d),
|
|
f && E[0] ? (E[P++] = O[z] || 0) : ((E = [O[z]]), (P = 1)));
|
|
while ((z++ < W || E[0] !== void 0) && I--);
|
|
v = E[0] !== void 0;
|
|
}
|
|
_[0] || _.shift();
|
|
}
|
|
if (g == 1) ((M.e = l), (Le = v));
|
|
else {
|
|
for (a = 1, d = _[0]; d >= 10; d /= 10) a++;
|
|
((M.e = a + l * g - 1), p(M, u ? s + M.e + 1 : s, o, v));
|
|
}
|
|
return M;
|
|
};
|
|
})();
|
|
function p(e, n, i, t) {
|
|
var r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a,
|
|
d,
|
|
g = e.constructor;
|
|
e: if (n != null) {
|
|
if (((a = e.d), !a)) return e;
|
|
for (r = 1, u = a[0]; u >= 10; u /= 10) r++;
|
|
if (((s = n - r), s < 0))
|
|
((s += m),
|
|
(o = n),
|
|
(l = a[(d = 0)]),
|
|
(c = ((l / C(10, r - o - 1)) % 10) | 0));
|
|
else if (((d = Math.ceil((s + 1) / m)), (u = a.length), d >= u))
|
|
if (t) {
|
|
for (; u++ <= d; ) a.push(0);
|
|
((l = c = 0), (r = 1), (s %= m), (o = s - m + 1));
|
|
} else break e;
|
|
else {
|
|
for (l = u = a[d], r = 1; u >= 10; u /= 10) r++;
|
|
((s %= m),
|
|
(o = s - m + r),
|
|
(c = o < 0 ? 0 : ((l / C(10, r - o - 1)) % 10) | 0));
|
|
}
|
|
if (
|
|
((t =
|
|
t ||
|
|
n < 0 ||
|
|
a[d + 1] !== void 0 ||
|
|
(o < 0 ? l : l % C(10, r - o - 1))),
|
|
(f =
|
|
i < 4
|
|
? (c || t) && (i == 0 || i == (e.s < 0 ? 3 : 2))
|
|
: c > 5 ||
|
|
(c == 5 &&
|
|
(i == 4 ||
|
|
t ||
|
|
(i == 6 &&
|
|
((s > 0 ? (o > 0 ? l / C(10, r - o) : 0) : a[d - 1]) % 10) &
|
|
1) ||
|
|
i == (e.s < 0 ? 8 : 7)))),
|
|
n < 1 || !a[0])
|
|
)
|
|
return (
|
|
(a.length = 0),
|
|
f
|
|
? ((n -= e.e + 1), (a[0] = C(10, (m - (n % m)) % m)), (e.e = -n || 0))
|
|
: (a[0] = e.e = 0),
|
|
e
|
|
);
|
|
if (
|
|
(s == 0
|
|
? ((a.length = d), (u = 1), d--)
|
|
: ((a.length = d + 1),
|
|
(u = C(10, m - s)),
|
|
(a[d] = o > 0 ? (((l / C(10, r - o)) % C(10, o)) | 0) * u : 0)),
|
|
f)
|
|
)
|
|
for (;;)
|
|
if (d == 0) {
|
|
for (s = 1, o = a[0]; o >= 10; o /= 10) s++;
|
|
for (o = a[0] += u, u = 1; o >= 10; o /= 10) u++;
|
|
s != u && (e.e++, a[0] == D && (a[0] = 1));
|
|
break;
|
|
} else {
|
|
if (((a[d] += u), a[d] != D)) break;
|
|
((a[d--] = 0), (u = 1));
|
|
}
|
|
for (s = a.length; a[--s] === 0; ) a.pop();
|
|
}
|
|
return (
|
|
w &&
|
|
(e.e > g.maxE
|
|
? ((e.d = null), (e.e = NaN))
|
|
: e.e < g.minE && ((e.e = 0), (e.d = [0]))),
|
|
e
|
|
);
|
|
}
|
|
function L(e, n, i) {
|
|
if (!e.isFinite()) return je(e);
|
|
var t,
|
|
r = e.e,
|
|
s = b(e.d),
|
|
o = s.length;
|
|
return (
|
|
n
|
|
? (i && (t = i - o) > 0
|
|
? (s = s.charAt(0) + "." + s.slice(1) + U(t))
|
|
: o > 1 && (s = s.charAt(0) + "." + s.slice(1)),
|
|
(s = s + (e.e < 0 ? "e" : "e+") + e.e))
|
|
: r < 0
|
|
? ((s = "0." + U(-r - 1) + s), i && (t = i - o) > 0 && (s += U(t)))
|
|
: r >= o
|
|
? ((s += U(r + 1 - o)),
|
|
i && (t = i - r - 1) > 0 && (s = s + "." + U(t)))
|
|
: ((t = r + 1) < o && (s = s.slice(0, t) + "." + s.slice(t)),
|
|
i && (t = i - o) > 0 && (r + 1 === o && (s += "."), (s += U(t)))),
|
|
s
|
|
);
|
|
}
|
|
function ce(e, n) {
|
|
var i = e[0];
|
|
for (n *= m; i >= 10; i /= 10) n++;
|
|
return n;
|
|
}
|
|
function ue(e, n, i) {
|
|
if (n > hn) throw ((w = !0), i && (e.precision = i), Error(Ie));
|
|
return p(new e(se), n, 1, !0);
|
|
}
|
|
function F(e, n, i) {
|
|
if (n > Ce) throw Error(Ie);
|
|
return p(new e(oe), n, i, !0);
|
|
}
|
|
function $e(e) {
|
|
var n = e.length - 1,
|
|
i = n * m + 1;
|
|
if (((n = e[n]), n)) {
|
|
for (; n % 10 == 0; n /= 10) i--;
|
|
for (n = e[0]; n >= 10; n /= 10) i++;
|
|
}
|
|
return i;
|
|
}
|
|
function U(e) {
|
|
for (var n = ""; e--; ) n += "0";
|
|
return n;
|
|
}
|
|
function He(e, n, i, t) {
|
|
var r,
|
|
s = new e(1),
|
|
o = Math.ceil(t / m + 4);
|
|
for (w = !1; ; ) {
|
|
if (
|
|
(i % 2 && ((s = s.times(n)), De(s.d, o) && (r = !0)),
|
|
(i = R(i / 2)),
|
|
i === 0)
|
|
) {
|
|
((i = s.d.length - 1), r && s.d[i] === 0 && ++s.d[i]);
|
|
break;
|
|
}
|
|
((n = n.times(n)), De(n.d, o));
|
|
}
|
|
return ((w = !0), s);
|
|
}
|
|
function Te(e) {
|
|
return e.d[e.d.length - 1] & 1;
|
|
}
|
|
function Ve(e, n, i) {
|
|
for (var t, r, s = new e(n[0]), o = 0; ++o < n.length; ) {
|
|
if (((r = new e(n[o])), !r.s)) {
|
|
s = r;
|
|
break;
|
|
}
|
|
((t = s.cmp(r)), (t === i || (t === 0 && s.s === i)) && (s = r));
|
|
}
|
|
return s;
|
|
}
|
|
function be(e, n) {
|
|
var i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f = 0,
|
|
l = 0,
|
|
a = 0,
|
|
d = e.constructor,
|
|
g = d.rounding,
|
|
v = d.precision;
|
|
if (!e.d || !e.d[0] || e.e > 17)
|
|
return new d(
|
|
e.d
|
|
? e.d[0]
|
|
? e.s < 0
|
|
? 0
|
|
: 1 / 0
|
|
: 1
|
|
: e.s
|
|
? e.s < 0
|
|
? 0
|
|
: e
|
|
: NaN,
|
|
);
|
|
for (
|
|
n == null ? ((w = !1), (c = v)) : (c = n), u = new d(0.03125);
|
|
e.e > -2;
|
|
)
|
|
((e = e.times(u)), (a += 5));
|
|
for (
|
|
t = ((Math.log(C(2, a)) / Math.LN10) * 2 + 5) | 0,
|
|
c += t,
|
|
i = s = o = new d(1),
|
|
d.precision = c;
|
|
;
|
|
) {
|
|
if (
|
|
((s = p(s.times(e), c, 1)),
|
|
(i = i.times(++l)),
|
|
(u = o.plus(k(s, i, c, 1))),
|
|
b(u.d).slice(0, c) === b(o.d).slice(0, c))
|
|
) {
|
|
for (r = a; r--; ) o = p(o.times(o), c, 1);
|
|
if (n == null)
|
|
if (f < 3 && Q(o.d, c - t, g, f))
|
|
((d.precision = c += 10), (i = s = u = new d(1)), (l = 0), f++);
|
|
else return p(o, (d.precision = v), g, (w = !0));
|
|
else return ((d.precision = v), o);
|
|
}
|
|
o = u;
|
|
}
|
|
}
|
|
function B(e, n) {
|
|
var i,
|
|
t,
|
|
r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a,
|
|
d,
|
|
g = 1,
|
|
v = 10,
|
|
N = e,
|
|
A = N.d,
|
|
M = N.constructor,
|
|
_ = M.rounding,
|
|
E = M.precision;
|
|
if (N.s < 0 || !A || !A[0] || (!N.e && A[0] == 1 && A.length == 1))
|
|
return new M(A && !A[0] ? -1 / 0 : N.s != 1 ? NaN : A ? 0 : N);
|
|
if (
|
|
(n == null ? ((w = !1), (l = E)) : (l = n),
|
|
(M.precision = l += v),
|
|
(i = b(A)),
|
|
(t = i.charAt(0)),
|
|
Math.abs((s = N.e)) < 15e14)
|
|
) {
|
|
for (; (t < 7 && t != 1) || (t == 1 && i.charAt(1) > 3); )
|
|
((N = N.times(e)), (i = b(N.d)), (t = i.charAt(0)), g++);
|
|
((s = N.e),
|
|
t > 1 ? ((N = new M("0." + i)), s++) : (N = new M(t + "." + i.slice(1))));
|
|
} else
|
|
return (
|
|
(f = ue(M, l + 2, E).times(s + "")),
|
|
(N = B(new M(t + "." + i.slice(1)), l - v).plus(f)),
|
|
(M.precision = E),
|
|
n == null ? p(N, E, _, (w = !0)) : N
|
|
);
|
|
for (
|
|
a = N,
|
|
c = o = N = k(N.minus(1), N.plus(1), l, 1),
|
|
d = p(N.times(N), l, 1),
|
|
r = 3;
|
|
;
|
|
) {
|
|
if (
|
|
((o = p(o.times(d), l, 1)),
|
|
(f = c.plus(k(o, new M(r), l, 1))),
|
|
b(f.d).slice(0, l) === b(c.d).slice(0, l))
|
|
)
|
|
if (
|
|
((c = c.times(2)),
|
|
s !== 0 && (c = c.plus(ue(M, l + 2, E).times(s + ""))),
|
|
(c = k(c, new M(g), l, 1)),
|
|
n == null)
|
|
)
|
|
if (Q(c.d, l - v, _, u))
|
|
((M.precision = l += v),
|
|
(f = o = N = k(a.minus(1), a.plus(1), l, 1)),
|
|
(d = p(N.times(N), l, 1)),
|
|
(r = u = 1));
|
|
else return p(c, (M.precision = E), _, (w = !0));
|
|
else return ((M.precision = E), c);
|
|
((c = f), (r += 2));
|
|
}
|
|
}
|
|
function je(e) {
|
|
return String((e.s * e.s) / 0);
|
|
}
|
|
function re(e, n) {
|
|
var i, t, r;
|
|
for (
|
|
(i = n.indexOf(".")) > -1 && (n = n.replace(".", "")),
|
|
(t = n.search(/e/i)) > 0
|
|
? (i < 0 && (i = t), (i += +n.slice(t + 1)), (n = n.substring(0, t)))
|
|
: i < 0 && (i = n.length),
|
|
t = 0;
|
|
n.charCodeAt(t) === 48;
|
|
t++
|
|
);
|
|
for (r = n.length; n.charCodeAt(r - 1) === 48; --r);
|
|
if (((n = n.slice(t, r)), n)) {
|
|
if (
|
|
((r -= t),
|
|
(e.e = i = i - t - 1),
|
|
(e.d = []),
|
|
(t = (i + 1) % m),
|
|
i < 0 && (t += m),
|
|
t < r)
|
|
) {
|
|
for (t && e.d.push(+n.slice(0, t)), r -= m; t < r; )
|
|
e.d.push(+n.slice(t, (t += m)));
|
|
((n = n.slice(t)), (t = m - n.length));
|
|
} else t -= r;
|
|
for (; t--; ) n += "0";
|
|
(e.d.push(+n),
|
|
w &&
|
|
(e.e > e.constructor.maxE
|
|
? ((e.d = null), (e.e = NaN))
|
|
: e.e < e.constructor.minE && ((e.e = 0), (e.d = [0]))));
|
|
} else ((e.e = 0), (e.d = [0]));
|
|
return e;
|
|
}
|
|
function gn(e, n) {
|
|
var i, t, r, s, o, u, c, f, l;
|
|
if (n.indexOf("_") > -1) {
|
|
if (((n = n.replace(/(\d)_(?=\d)/g, "$1")), Be.test(n))) return re(e, n);
|
|
} else if (n === "Infinity" || n === "NaN")
|
|
return (+n || (e.s = NaN), (e.e = NaN), (e.d = null), e);
|
|
if (ln.test(n)) ((i = 16), (n = n.toLowerCase()));
|
|
else if (cn.test(n)) i = 2;
|
|
else if (an.test(n)) i = 8;
|
|
else throw Error($ + n);
|
|
for (
|
|
s = n.search(/p/i),
|
|
s > 0
|
|
? ((c = +n.slice(s + 1)), (n = n.substring(2, s)))
|
|
: (n = n.slice(2)),
|
|
s = n.indexOf("."),
|
|
o = s >= 0,
|
|
t = e.constructor,
|
|
o &&
|
|
((n = n.replace(".", "")),
|
|
(u = n.length),
|
|
(s = u - s),
|
|
(r = He(t, new t(i), s, s * 2))),
|
|
f = te(n, i, D),
|
|
l = f.length - 1,
|
|
s = l;
|
|
f[s] === 0;
|
|
--s
|
|
)
|
|
f.pop();
|
|
return s < 0
|
|
? new t(e.s * 0)
|
|
: ((e.e = ce(f, l)),
|
|
(e.d = f),
|
|
(w = !1),
|
|
o && (e = k(e, r, u * 4)),
|
|
c && (e = e.times(Math.abs(c) < 54 ? C(2, c) : Y.pow(2, c))),
|
|
(w = !0),
|
|
e);
|
|
}
|
|
function mn(e, n) {
|
|
var i,
|
|
t = n.d.length;
|
|
if (t < 3) return n.isZero() ? n : j(e, 2, n, n);
|
|
((i = 1.4 * Math.sqrt(t)),
|
|
(i = i > 16 ? 16 : i | 0),
|
|
(n = n.times(1 / le(5, i))),
|
|
(n = j(e, 2, n, n)));
|
|
for (var r, s = new e(5), o = new e(16), u = new e(20); i--; )
|
|
((r = n.times(n)), (n = n.times(s.plus(r.times(o.times(r).minus(u))))));
|
|
return n;
|
|
}
|
|
function j(e, n, i, t, r) {
|
|
var s,
|
|
o,
|
|
u,
|
|
c,
|
|
f = 1,
|
|
l = e.precision,
|
|
a = Math.ceil(l / m);
|
|
for (w = !1, c = i.times(i), u = new e(t); ; ) {
|
|
if (
|
|
((o = k(u.times(c), new e(n++ * n++), l, 1)),
|
|
(u = r ? t.plus(o) : t.minus(o)),
|
|
(t = k(o.times(c), new e(n++ * n++), l, 1)),
|
|
(o = u.plus(t)),
|
|
o.d[a] !== void 0)
|
|
) {
|
|
for (s = a; o.d[s] === u.d[s] && s--; );
|
|
if (s == -1) break;
|
|
}
|
|
((s = u), (u = t), (t = o), (o = s), f++);
|
|
}
|
|
return ((w = !0), (o.d.length = a + 1), o);
|
|
}
|
|
function le(e, n) {
|
|
for (var i = e; --n; ) i *= e;
|
|
return i;
|
|
}
|
|
function We(e, n) {
|
|
var i,
|
|
t = n.s < 0,
|
|
r = F(e, e.precision, 1),
|
|
s = r.times(0.5);
|
|
if (((n = n.abs()), n.lte(s))) return ((Z = t ? 4 : 1), n);
|
|
if (((i = n.divToInt(r)), i.isZero())) Z = t ? 3 : 2;
|
|
else {
|
|
if (((n = n.minus(i.times(r))), n.lte(s)))
|
|
return ((Z = Te(i) ? (t ? 2 : 3) : t ? 4 : 1), n);
|
|
Z = Te(i) ? (t ? 1 : 4) : t ? 3 : 2;
|
|
}
|
|
return n.minus(r).abs();
|
|
}
|
|
function Pe(e, n, i, t) {
|
|
var r,
|
|
s,
|
|
o,
|
|
u,
|
|
c,
|
|
f,
|
|
l,
|
|
a,
|
|
d,
|
|
g = e.constructor,
|
|
v = i !== void 0;
|
|
if (
|
|
(v
|
|
? (q(i, 1, H), t === void 0 ? (t = g.rounding) : q(t, 0, 8))
|
|
: ((i = g.precision), (t = g.rounding)),
|
|
!e.isFinite())
|
|
)
|
|
l = je(e);
|
|
else {
|
|
for (
|
|
l = L(e),
|
|
o = l.indexOf("."),
|
|
v
|
|
? ((r = 2), n == 16 ? (i = i * 4 - 3) : n == 8 && (i = i * 3 - 2))
|
|
: (r = n),
|
|
o >= 0 &&
|
|
((l = l.replace(".", "")),
|
|
(d = new g(1)),
|
|
(d.e = l.length - o),
|
|
(d.d = te(L(d), 10, r)),
|
|
(d.e = d.d.length)),
|
|
a = te(l, 10, r),
|
|
s = c = a.length;
|
|
a[--c] == 0;
|
|
)
|
|
a.pop();
|
|
if (!a[0]) l = v ? "0p+0" : "0";
|
|
else {
|
|
if (
|
|
(o < 0
|
|
? s--
|
|
: ((e = new g(e)),
|
|
(e.d = a),
|
|
(e.e = s),
|
|
(e = k(e, d, i, t, 0, r)),
|
|
(a = e.d),
|
|
(s = e.e),
|
|
(f = Le)),
|
|
(o = a[i]),
|
|
(u = r / 2),
|
|
(f = f || a[i + 1] !== void 0),
|
|
(f =
|
|
t < 4
|
|
? (o !== void 0 || f) && (t === 0 || t === (e.s < 0 ? 3 : 2))
|
|
: o > u ||
|
|
(o === u &&
|
|
(t === 4 ||
|
|
f ||
|
|
(t === 6 && a[i - 1] & 1) ||
|
|
t === (e.s < 0 ? 8 : 7)))),
|
|
(a.length = i),
|
|
f)
|
|
)
|
|
for (; ++a[--i] > r - 1; ) ((a[i] = 0), i || (++s, a.unshift(1)));
|
|
for (c = a.length; !a[c - 1]; --c);
|
|
for (o = 0, l = ""; o < c; o++) l += Se.charAt(a[o]);
|
|
if (v) {
|
|
if (c > 1)
|
|
if (n == 16 || n == 8) {
|
|
for (o = n == 16 ? 4 : 3, --c; c % o; c++) l += "0";
|
|
for (a = te(l, r, n), c = a.length; !a[c - 1]; --c);
|
|
for (o = 1, l = "1."; o < c; o++) l += Se.charAt(a[o]);
|
|
} else l = l.charAt(0) + "." + l.slice(1);
|
|
l = l + (s < 0 ? "p" : "p+") + s;
|
|
} else if (s < 0) {
|
|
for (; ++s; ) l = "0" + l;
|
|
l = "0." + l;
|
|
} else if (++s > c) for (s -= c; s--; ) l += "0";
|
|
else s < c && (l = l.slice(0, s) + "." + l.slice(s));
|
|
}
|
|
l = (n == 16 ? "0x" : n == 2 ? "0b" : n == 8 ? "0o" : "") + l;
|
|
}
|
|
return e.s < 0 ? "-" + l : l;
|
|
}
|
|
function De(e, n) {
|
|
if (e.length > n) return ((e.length = n), !0);
|
|
}
|
|
function wn(e) {
|
|
return new this(e).abs();
|
|
}
|
|
function Nn(e) {
|
|
return new this(e).acos();
|
|
}
|
|
function vn(e) {
|
|
return new this(e).acosh();
|
|
}
|
|
function En(e, n) {
|
|
return new this(e).plus(n);
|
|
}
|
|
function kn(e) {
|
|
return new this(e).asin();
|
|
}
|
|
function Sn(e) {
|
|
return new this(e).asinh();
|
|
}
|
|
function Mn(e) {
|
|
return new this(e).atan();
|
|
}
|
|
function Cn(e) {
|
|
return new this(e).atanh();
|
|
}
|
|
function bn(e, n) {
|
|
((e = new this(e)), (n = new this(n)));
|
|
var i,
|
|
t = this.precision,
|
|
r = this.rounding,
|
|
s = t + 4;
|
|
return (
|
|
!e.s || !n.s
|
|
? (i = new this(NaN))
|
|
: !e.d && !n.d
|
|
? ((i = F(this, s, 1).times(n.s > 0 ? 0.25 : 0.75)), (i.s = e.s))
|
|
: !n.d || e.isZero()
|
|
? ((i = n.s < 0 ? F(this, t, r) : new this(0)), (i.s = e.s))
|
|
: !e.d || n.isZero()
|
|
? ((i = F(this, s, 1).times(0.5)), (i.s = e.s))
|
|
: n.s < 0
|
|
? ((this.precision = s),
|
|
(this.rounding = 1),
|
|
(i = this.atan(k(e, n, s, 1))),
|
|
(n = F(this, s, 1)),
|
|
(this.precision = t),
|
|
(this.rounding = r),
|
|
(i = e.s < 0 ? i.minus(n) : i.plus(n)))
|
|
: (i = this.atan(k(e, n, s, 1))),
|
|
i
|
|
);
|
|
}
|
|
function Pn(e) {
|
|
return new this(e).cbrt();
|
|
}
|
|
function On(e) {
|
|
return p((e = new this(e)), e.e + 1, 2);
|
|
}
|
|
function Rn(e, n, i) {
|
|
return new this(e).clamp(n, i);
|
|
}
|
|
function An(e) {
|
|
if (!e || typeof e != "object") throw Error(fe + "Object expected");
|
|
var n,
|
|
i,
|
|
t,
|
|
r = e.defaults === !0,
|
|
s = [
|
|
"precision",
|
|
1,
|
|
H,
|
|
"rounding",
|
|
0,
|
|
8,
|
|
"toExpNeg",
|
|
-V,
|
|
0,
|
|
"toExpPos",
|
|
0,
|
|
V,
|
|
"maxE",
|
|
0,
|
|
V,
|
|
"minE",
|
|
-V,
|
|
0,
|
|
"modulo",
|
|
0,
|
|
9,
|
|
];
|
|
for (n = 0; n < s.length; n += 3)
|
|
if (((i = s[n]), r && (this[i] = Me[i]), (t = e[i]) !== void 0))
|
|
if (R(t) === t && t >= s[n + 1] && t <= s[n + 2]) this[i] = t;
|
|
else throw Error($ + i + ": " + t);
|
|
if (((i = "crypto"), r && (this[i] = Me[i]), (t = e[i]) !== void 0))
|
|
if (t === !0 || t === !1 || t === 0 || t === 1)
|
|
if (t)
|
|
if (
|
|
typeof crypto < "u" &&
|
|
crypto &&
|
|
(crypto.getRandomValues || crypto.randomBytes)
|
|
)
|
|
this[i] = !0;
|
|
else throw Error(Ze);
|
|
else this[i] = !1;
|
|
else throw Error($ + i + ": " + t);
|
|
return this;
|
|
}
|
|
function qn(e) {
|
|
return new this(e).cos();
|
|
}
|
|
function _n(e) {
|
|
return new this(e).cosh();
|
|
}
|
|
function Ge(e) {
|
|
var n, i, t;
|
|
function r(s) {
|
|
var o,
|
|
u,
|
|
c,
|
|
f = this;
|
|
if (!(f instanceof r)) return new r(s);
|
|
if (((f.constructor = r), Fe(s))) {
|
|
((f.s = s.s),
|
|
w
|
|
? !s.d || s.e > r.maxE
|
|
? ((f.e = NaN), (f.d = null))
|
|
: s.e < r.minE
|
|
? ((f.e = 0), (f.d = [0]))
|
|
: ((f.e = s.e), (f.d = s.d.slice()))
|
|
: ((f.e = s.e), (f.d = s.d ? s.d.slice() : s.d)));
|
|
return;
|
|
}
|
|
if (((c = typeof s), c === "number")) {
|
|
if (s === 0) {
|
|
((f.s = 1 / s < 0 ? -1 : 1), (f.e = 0), (f.d = [0]));
|
|
return;
|
|
}
|
|
if ((s < 0 ? ((s = -s), (f.s = -1)) : (f.s = 1), s === ~~s && s < 1e7)) {
|
|
for (o = 0, u = s; u >= 10; u /= 10) o++;
|
|
w
|
|
? o > r.maxE
|
|
? ((f.e = NaN), (f.d = null))
|
|
: o < r.minE
|
|
? ((f.e = 0), (f.d = [0]))
|
|
: ((f.e = o), (f.d = [s]))
|
|
: ((f.e = o), (f.d = [s]));
|
|
return;
|
|
}
|
|
if (s * 0 !== 0) {
|
|
(s || (f.s = NaN), (f.e = NaN), (f.d = null));
|
|
return;
|
|
}
|
|
return re(f, s.toString());
|
|
}
|
|
if (c === "string")
|
|
return (
|
|
(u = s.charCodeAt(0)) === 45
|
|
? ((s = s.slice(1)), (f.s = -1))
|
|
: (u === 43 && (s = s.slice(1)), (f.s = 1)),
|
|
Be.test(s) ? re(f, s) : gn(f, s)
|
|
);
|
|
if (c === "bigint")
|
|
return (s < 0 ? ((s = -s), (f.s = -1)) : (f.s = 1), re(f, s.toString()));
|
|
throw Error($ + s);
|
|
}
|
|
if (
|
|
((r.prototype = h),
|
|
(r.ROUND_UP = 0),
|
|
(r.ROUND_DOWN = 1),
|
|
(r.ROUND_CEIL = 2),
|
|
(r.ROUND_FLOOR = 3),
|
|
(r.ROUND_HALF_UP = 4),
|
|
(r.ROUND_HALF_DOWN = 5),
|
|
(r.ROUND_HALF_EVEN = 6),
|
|
(r.ROUND_HALF_CEIL = 7),
|
|
(r.ROUND_HALF_FLOOR = 8),
|
|
(r.EUCLID = 9),
|
|
(r.config = r.set = An),
|
|
(r.clone = Ge),
|
|
(r.isDecimal = Fe),
|
|
(r.abs = wn),
|
|
(r.acos = Nn),
|
|
(r.acosh = vn),
|
|
(r.add = En),
|
|
(r.asin = kn),
|
|
(r.asinh = Sn),
|
|
(r.atan = Mn),
|
|
(r.atanh = Cn),
|
|
(r.atan2 = bn),
|
|
(r.cbrt = Pn),
|
|
(r.ceil = On),
|
|
(r.clamp = Rn),
|
|
(r.cos = qn),
|
|
(r.cosh = _n),
|
|
(r.div = Tn),
|
|
(r.exp = Dn),
|
|
(r.floor = Fn),
|
|
(r.hypot = Ln),
|
|
(r.ln = In),
|
|
(r.log = Zn),
|
|
(r.log10 = Bn),
|
|
(r.log2 = Un),
|
|
(r.max = $n),
|
|
(r.min = Hn),
|
|
(r.mod = Vn),
|
|
(r.mul = jn),
|
|
(r.pow = Wn),
|
|
(r.random = Gn),
|
|
(r.round = Jn),
|
|
(r.sign = Xn),
|
|
(r.sin = Kn),
|
|
(r.sinh = Qn),
|
|
(r.sqrt = Yn),
|
|
(r.sub = xn),
|
|
(r.sum = zn),
|
|
(r.tan = yn),
|
|
(r.tanh = ei),
|
|
(r.trunc = ni),
|
|
e === void 0 && (e = {}),
|
|
e && e.defaults !== !0)
|
|
)
|
|
for (
|
|
t = [
|
|
"precision",
|
|
"rounding",
|
|
"toExpNeg",
|
|
"toExpPos",
|
|
"maxE",
|
|
"minE",
|
|
"modulo",
|
|
"crypto",
|
|
],
|
|
n = 0;
|
|
n < t.length;
|
|
)
|
|
e.hasOwnProperty((i = t[n++])) || (e[i] = this[i]);
|
|
return (r.config(e), r);
|
|
}
|
|
function Tn(e, n) {
|
|
return new this(e).div(n);
|
|
}
|
|
function Dn(e) {
|
|
return new this(e).exp();
|
|
}
|
|
function Fn(e) {
|
|
return p((e = new this(e)), e.e + 1, 3);
|
|
}
|
|
function Ln() {
|
|
var e,
|
|
n,
|
|
i = new this(0);
|
|
for (w = !1, e = 0; e < arguments.length; )
|
|
if (((n = new this(arguments[e++])), n.d)) i.d && (i = i.plus(n.times(n)));
|
|
else {
|
|
if (n.s) return ((w = !0), new this(1 / 0));
|
|
i = n;
|
|
}
|
|
return ((w = !0), i.sqrt());
|
|
}
|
|
function Fe(e) {
|
|
return e instanceof Y || (e && e.toStringTag === Ue) || !1;
|
|
}
|
|
function In(e) {
|
|
return new this(e).ln();
|
|
}
|
|
function Zn(e, n) {
|
|
return new this(e).log(n);
|
|
}
|
|
function Un(e) {
|
|
return new this(e).log(2);
|
|
}
|
|
function Bn(e) {
|
|
return new this(e).log(10);
|
|
}
|
|
function $n() {
|
|
return Ve(this, arguments, -1);
|
|
}
|
|
function Hn() {
|
|
return Ve(this, arguments, 1);
|
|
}
|
|
function Vn(e, n) {
|
|
return new this(e).mod(n);
|
|
}
|
|
function jn(e, n) {
|
|
return new this(e).mul(n);
|
|
}
|
|
function Wn(e, n) {
|
|
return new this(e).pow(n);
|
|
}
|
|
function Gn(e) {
|
|
var n,
|
|
i,
|
|
t,
|
|
r,
|
|
s = 0,
|
|
o = new this(1),
|
|
u = [];
|
|
if (
|
|
(e === void 0 ? (e = this.precision) : q(e, 1, H),
|
|
(t = Math.ceil(e / m)),
|
|
this.crypto)
|
|
)
|
|
if (crypto.getRandomValues)
|
|
for (n = crypto.getRandomValues(new Uint32Array(t)); s < t; )
|
|
((r = n[s]),
|
|
r >= 429e7
|
|
? (n[s] = crypto.getRandomValues(new Uint32Array(1))[0])
|
|
: (u[s++] = r % 1e7));
|
|
else if (crypto.randomBytes) {
|
|
for (n = crypto.randomBytes((t *= 4)); s < t; )
|
|
((r =
|
|
n[s] + (n[s + 1] << 8) + (n[s + 2] << 16) + ((n[s + 3] & 127) << 24)),
|
|
r >= 214e7
|
|
? crypto.randomBytes(4).copy(n, s)
|
|
: (u.push(r % 1e7), (s += 4)));
|
|
s = t / 4;
|
|
} else throw Error(Ze);
|
|
else for (; s < t; ) u[s++] = (Math.random() * 1e7) | 0;
|
|
for (
|
|
t = u[--s],
|
|
e %= m,
|
|
t && e && ((r = C(10, m - e)), (u[s] = ((t / r) | 0) * r));
|
|
u[s] === 0;
|
|
s--
|
|
)
|
|
u.pop();
|
|
if (s < 0) ((i = 0), (u = [0]));
|
|
else {
|
|
for (i = -1; u[0] === 0; i -= m) u.shift();
|
|
for (t = 1, r = u[0]; r >= 10; r /= 10) t++;
|
|
t < m && (i -= m - t);
|
|
}
|
|
return ((o.e = i), (o.d = u), o);
|
|
}
|
|
function Jn(e) {
|
|
return p((e = new this(e)), e.e + 1, this.rounding);
|
|
}
|
|
function Xn(e) {
|
|
return ((e = new this(e)), e.d ? (e.d[0] ? e.s : 0 * e.s) : e.s || NaN);
|
|
}
|
|
function Kn(e) {
|
|
return new this(e).sin();
|
|
}
|
|
function Qn(e) {
|
|
return new this(e).sinh();
|
|
}
|
|
function Yn(e) {
|
|
return new this(e).sqrt();
|
|
}
|
|
function xn(e, n) {
|
|
return new this(e).sub(n);
|
|
}
|
|
function zn() {
|
|
var e = 0,
|
|
n = arguments,
|
|
i = new this(n[e]);
|
|
for (w = !1; i.s && ++e < n.length; ) i = i.plus(n[e]);
|
|
return ((w = !0), p(i, this.precision, this.rounding));
|
|
}
|
|
function yn(e) {
|
|
return new this(e).tan();
|
|
}
|
|
function ei(e) {
|
|
return new this(e).tanh();
|
|
}
|
|
function ni(e) {
|
|
return p((e = new this(e)), e.e + 1, 1);
|
|
}
|
|
h[Symbol.for("nodejs.util.inspect.custom")] = h.toString;
|
|
h[Symbol.toStringTag] = "Decimal";
|
|
var Y = (h.constructor = Ge(Me));
|
|
se = new Y(se);
|
|
oe = new Y(oe);
|
|
var Je = Y;
|
|
0 &&
|
|
(module.exports = {
|
|
Decimal,
|
|
Public,
|
|
getRuntime,
|
|
makeStrictEnum,
|
|
objectEnumValues,
|
|
});
|
|
/*! Bundled license information:
|
|
|
|
decimal.js/decimal.mjs:
|
|
(*!
|
|
* decimal.js v10.5.0
|
|
* An arbitrary-precision Decimal type for JavaScript.
|
|
* https://github.com/MikeMcl/decimal.js
|
|
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
* MIT Licence
|
|
*)
|
|
*/
|
|
//# sourceMappingURL=index-browser.js.map
|