@lazy-random/df-uniform
Version:
35 lines (34 loc) • 1.84 kB
JavaScript
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? t(exports, require("@lazy-random/expect"), require("@lazy-num/to-fixed-number"), require("@lazy-random/shared-lib")) : "function" == typeof define && define.amd ? define([ "exports", "@lazy-random/expect", "@lazy-num/to-fixed-number", "@lazy-random/shared-lib" ], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).LazyRandomDfUniform = {}, e.expect, e.toFixedNumber, e.sharedLib);
}(this, (function(e, t, n, o) {
"use strict";
function dfUniformFloat(e, o, r, f) {
let i;
return void 0 === r && (r = void 0 === o ? 1 : o, o = 0), t.expect(o), t.expect(r).number.finite.gt(o),
i = 0 === o && 1 === r ? () => e.next() : 0 === o ? () => e.next() * r : () => e.next() * (r - o) + o,
void 0 !== f ? (t.expect(f).integer.gte(0), () => n.toFixedNumber(i(), f)) : i;
}
function dfUniformInt(e, n, o) {
void 0 === o && (o = void 0 === n ? 1 : n, n = 0), t.expect(n).integer(), t.expect(o).integer.gt(n);
let r = dfUniformFloat(e, n, o + 1);
return () => Math.floor(r());
}
function dfUniformByte(e, n) {
let r = dfUniformInt(e, 0, 255);
return void 0 !== n && t.expect(n).boolean(), n ? () => o.stringifyByte(r()) : r;
}
e.dfUniformBoolean = function dfUniformBoolean(e, n = .5) {
return t.expect(n).number.gt(0).lt(1), () => e.next() >= n;
}, e.dfUniformByte = dfUniformByte, e.dfUniformBytes = function dfUniformBytes(e, n = 1, o) {
t.expect(n).integer.gt(0);
const r = dfUniformByte(e, o);
return () => {
let e = n, t = [];
for (;e--; ) t[e] = r();
return t;
};
}, e.dfUniformFloat = dfUniformFloat, e.dfUniformInt = dfUniformInt, Object.defineProperty(e, "__esModule", {
value: !0
});
}));
//# sourceMappingURL=index.umd.production.min.cjs.map