UNPKG

@lazy-random/df-uniform

Version:
1 lines 5.38 kB
{"version":3,"file":"index.cjs.development.cjs","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":["max","undefined","min","expect","number","finite","gt","fn","random","next","integer","dfUniformFloat","Math","floor","likelihood","dfUniformByte","toStr","dfUniformInt","boolean","size","i","arr"],"mappings":";;;;;;;;;EAAA,IAAAA,GAAA,KAAAC,SAAA,EAAA;AACAD,IAAAA,GAAA,GAAAE,GAAA,KAAAD,SAAA,OAAAC,GAAA,CAAA;IAOEA,GAAU,GAAA,CAAA,CAAA;;AAKX,EAAAC,aAAA,CAAAD,GAAA,CAAA,CAAAE,MAAO,CAAWC,MAAA,CAAA;eAElB,CAAAL,GAAI,EAAgBI,MAAA,CAAAC,MAAA,CAAAC,EAAA,CAAAJ,GAAA,CAAA,CAAA;;sBAKnB,KAAA,CAAA,EAAA;AACIK,IAAAA,EAAA,GAAAA,MAAAC,MAAA,CAAAC,IAAI,EAAA,CAAA;GAMR,MAAA,IAAAP,GAAA,KAAA,CAAA,EAAA;eAGK;AAEJ,MAAA,OAAAM,MAAA,CAAAC,IAAA,EAAA,GAAAT,GAAA,CAAA;AACD,KAAA,CAAA;;AASCO,IAAAA,EAAA,GAAAA,MAAA;MACD,OAAAC,MAAA,CAAAC,IAAA,EAAA,IAAAT,GAAA,GAAAE,GAAA,IAAAA,GAAA,CAAA;AAGD,KAAA,CAAA;;;;;;;;;;;;;;;AC9CD,GAAA;EACAC,aAAA,CAAAD,GAAA,CAAA,CAAAQ,OAAA,EAAA,CAAA;AAOEP,EAAAA,aAAU,CAAAH,GAAA,CAAA,CAAAU,cAAyB,CAAA,CAAA;;;WAORC,cAAA,CAAAH,MAAA,EAAAN,GAAA,EAAAF,GAAA,GAAA,CAAA,CAAA,CAAA;;AAK5B,IAAA,OAAAY,IAAA,CAAAC,KAAA,CAAAN,EAAO;AAEN,GAAA,CAAA;;;;;ACnBFJ,EAAAA,aAAA,CAAAW,UAAA,CAAA,CAAAV,MAAA,CAIQE,EAAA;;WAQNE,MAAA,CAAAC,IAAA,EAAA,IAAAK,UAAA,CAAA;;;;ACfFC,SAAAA,aAAAA,CAAAP,MAAA,EAAAQ,KAAA,EAAA;AACA,EAAA,IAAAT,EAAA,GAAAU,YAAA,CAAAT,MAAA,EAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AACA,EAAA,IAAA,OAAAQ,KAAA,KAAA,WAAA,EAAA;iBAgBE,CAAAA,KAAA,CAAAE,CAAAA,OAAA,EAAA,CAAA;;AAKD,EAAA,IAAAF,KAAA,EAAA;;;;;;;ACvBDb,EAAAA,aAAA,CAAAgB,IAAA,CAAAT,CAAAA,OAAA,CAAAJ,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAAC,EAAA,GAAAQ,aAAA,CAAAP,MAAuC,EAAAQ,KAAA,CAAA,CAAA;SAc3B,MAAA;IAGT,IAAAI,CAAA,GAAAD,IAAA,CAAA;QACAE,GAAA,GAAA,EAAA,CAAA;AAEF,IAAA,OAACD,CAAA,EAAA,EAAA;MAGFC,GAAA,CAAAD,CAAA,CAAA,GAAeb,EAAA,EAAA,CAAA;;;;;;;;;;;;"}