@lazy-random/df-uniform
Version:
1 lines • 4.5 kB
Source Map (JSON)
{"version":3,"file":"index.umd.production.min.cjs","sources":["../src/uniform.ts","../src/uniform-int.ts","../src/byte.ts","../src/uniform-boolean.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 { 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 { 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 { 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","dfUniformByte","toStr","dfUniformInt","boolean","likelihood","size","i","arr"],"mappings":";;;;;;gBAAAA,MAAAC,MACAA,SAAAD,MAAAE,QAAAA,GAOEA,IAAU,IAKXC,EAAAA,OAAAD,MAEAC,OAAAF,GAAoBG,OAAAC,OAAAC,GAAAJ;IAMfK,eADJ,UACIA,MAAAC,EAAAC,SAMJ,MAAAP,UAKCM,EAAAC,SAAAR,IAUAM,MACDC,EAAAC,UAAAR,IAAAC,KAAAA;;;;uDC1CFC,SAAAD,GAAAQ,WAOEP,EAAAA,OAAUF,GAAAS;YAOiBC,eAAAH,GAAAN,GAAAD,IAAA;iBAK5BW,KAAAC,MAAAN;;ECpBDO,SAAAA,cAAAN,GAAAO;IACA,IAAAR,IAAAS,aAAAR,GAAA,GAAA;IAsBC,YArBD,MAAAO,cAgBEA,GAAAE,WAKDF;;;WCpBDZ,SAAAe,GAAAd,OAIQE,mBAQNE,EAAAC,UAAAS;;ICfFf,EAAAA,OAAAgB,GAAAT,QAAAJ,GAAA;IACA,MAAAC,IAAAO,cAAAN,GAAuCO;WAc3B;MAGT,IAAAK,IAAAD,GACAE,IAAA;MAEF,MAACD,OAGFC,EAAAD,KAAeb;;;;;;"}