UNPKG

@lazy-random/df-uniform

Version:
1 lines 4.47 kB
{"version":3,"file":"index.esm.mjs","sources":["../src/uniform.ts","../src/uniform-int.ts","../src/uniform-boolean.ts","../src/byte.ts","../src/bytes.ts"],"sourcesContent":["import { expect } from '@lazy-random/expect';\nimport { toFixedNumber } from '@lazy-num/to-fixed-number';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\n\nexport function dfUniformFloat(random: IRNGLike, min?: number, max?: number, fractionDigits?: number)\n{\n\tif (max === undefined)\n\t{\n\t\tmax = (min === undefined ? 1 : min)\n\t\tmin = 0;\n\t}\n\n\texpect(min).number.finite;\n\texpect(max).number.finite.gt(min);\n\n\tlet fn: () => number;\n\n\tif (min === 0 && max === 1)\n\t{\n\t\tfn = () => random.next()\n\t}\n\telse if (min === 0)\n\t{\n\t\tfn = () =>\n\t\t{\n\t\t\treturn random.next() * max\n\t\t}\n\t}\n\telse\n\t{\n\t\tfn = () =>\n\t\t{\n\t\t\treturn random.next() * (max - min) + min\n\t\t}\n\t}\n\n\tif (fractionDigits !== undefined)\n\t{\n\t\texpect(fractionDigits).integer.gte(0);\n\n\t\treturn (): number =>\n\t\t{\n\t\t\treturn toFixedNumber(fn(), fractionDigits)\n\t\t}\n\t}\n\n\treturn fn\n}\n\nexport default dfUniformFloat\n","import { expect } from '@lazy-random/expect';\nimport dfUniformFloat from './uniform';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\n\nexport function dfUniformInt(random: IRNGLike, min?: number, max?: number)\n{\n\tif (max === undefined)\n\t{\n\t\tmax = (min === undefined ? 1 : min)\n\t\tmin = 0\n\t}\n\n\texpect(min).integer();\n\texpect(max).integer.gt(min);\n\n\t//ow(min, ow.number.integer)\n\t//ow(max, ow.number.integer.gt(min))\n\n\tlet fn = dfUniformFloat(random, min, max + 1);\n\n\treturn () =>\n\t{\n\t\treturn Math.floor(fn())\n\t}\n}\n\nexport default dfUniformInt\n","import { IRNGLike } from '@lazy-random/rng-abstract'\nimport { expect } from '@lazy-random/expect';\n\nexport function dfUniformBoolean(random: IRNGLike, likelihood: number = 0.5)\n{\n\t//ow(likelihood, ow.number.gt(0).lt(1))\n\n\texpect(likelihood).number\n\t\t.gt(0)\n\t\t.lt(1)\n\t;\n\n\treturn () =>\n\t{\n\t\treturn (random.next() >= likelihood)\n\t}\n}\n\nexport default dfUniformBoolean\n","import { expect } from '@lazy-random/expect';\nimport { dfUniformInt } from './uniform-int';\nimport { stringifyByte } from '@lazy-random/shared-lib';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\n\nexport function dfUniformByte(random: IRNGLike, toStr: true): () => string\nexport function dfUniformByte(random: IRNGLike, toStr?: false): () => number\nexport function dfUniformByte(random: IRNGLike, toStr?: boolean): (() => string) | (() => number)\nexport function dfUniformByte(random: IRNGLike, toStr?: boolean)\n{\n\tlet fn = dfUniformInt(random, 0, 255);\n\n\tif (typeof toStr !== 'undefined')\n\t{\n\t\texpect(toStr).boolean();\n\t}\n\n\tif (toStr)\n\t{\n\t\treturn () => stringifyByte(fn())\n\t}\n\n\treturn fn\n}\n\nexport default dfUniformByte\n\n","import { expect } from '@lazy-random/expect';\nimport { dfUniformByte } from './byte';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\n\nexport function dfUniformBytes(random: IRNGLike, size: number, toStr: true): () => string[]\nexport function dfUniformBytes(random: IRNGLike, size?: number, toStr?: false): () => number[]\nexport function dfUniformBytes(random: IRNGLike, size?: number, toStr?: boolean): (() => string[]) | (() => number[])\nexport function dfUniformBytes(random: IRNGLike, size: number = 1, toStr?: boolean)\n{\n\texpect(size).integer.gt(0);\n\tconst fn = dfUniformByte(random, toStr);\n\n\treturn () =>\n\t{\n\t\tlet i = size;\n\t\tlet arr = [];\n\t\twhile (i--)\n\t\t{\n\t\t\tarr[i] = fn()\n\t\t}\n\t\treturn arr\n\t}\n}\n\nexport default dfUniformBytes\n"],"names":["undefined","max","min","expect","number","finite","gt","fn","random","next","integer","dfUniformFloat","Math","floor","likelihood","dfUniformByte","toStr","dfUniformInt","boolean","size","i","arr"],"mappings":";;;;;;;;cAAAA,MAAAC,MACAA,SAAAD,MAAAE,QAAAA,GAOEA,IAAU,IAKXC,EAAAD,MAEAD,GAAoBG,OAAAC,OAAAC,GAAAJ;EAMfK,eADJ,UACIA,MAAAC,EAAAC,SAMJ,MAAAP,UAKCM,EAAAC,SAAAR,IAUAM,MACDC,EAAAC,UAAAR,IAAAC,KAAAA;;;;;qDC1CFC,EAAAD,GAAAQ,WAOEP,EAAUF,GAAAS;UAOiBC,eAAAH,GAAAN,GAAAD,IAAA;eAK5BW,KAAAC,MAAAN;;;;SCjBDJ,EAAAW,GAAAV,OAIQE,mBAQNE,EAAAC,UAAAK;;;ACfFC,SAAAA,cAAAP,GAAAQ;EACA,IAAAT,IAAAU,aAAAT,GAAA,GAAA;EAsBC,YArBD,MAAAQ,OAgBEA,GAAAE,WAKDF;;;;ECvBDb,EAAAgB,GAAAT,QAAAJ,GAAA;EACA,MAAAC,IAAAQ,cAAAP,GAAuCQ;SAc3B;IAGT,IAAAI,IAAAD,GACAE,IAAA;IAEF,MAACD,OAGFC,EAAAD,KAAeb;;;;;"}