{"version":3,"sources":["jsdelivr-header.js","/npm/@thi.ng/colored-noise@1.0.125/api.js","/npm/@thi.ng/colored-noise@1.0.125/utils.js","/npm/@thi.ng/colored-noise@1.0.125/blue.js","/npm/@thi.ng/colored-noise@1.0.125/green.js","/npm/@thi.ng/colored-noise@1.0.125/pink.js","/npm/@thi.ng/colored-noise@1.0.125/red.js","/npm/@thi.ng/colored-noise@1.0.125/violet.js","/npm/@thi.ng/colored-noise@1.0.125/white.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,6HCLK,MAAC,EAAe,CACnB,KAAM,EACN,MAAO,EACP,IAAK,GCJD,EAAU,CAAC,EAAG,EAAO,KACzB,MAAM,EAAQ,IAAI,MAAM,GACxB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACrB,EAAM,GAAK,EAAI,KAAK,GAEtB,OAAO,CAAK,EAER,EAAO,GAAQ,EAAI,QAAO,CAAC,EAAM,IAAM,EAAO,GAAG,GACvD,SAAU,EAAW,EAAG,GACtB,MAAM,EAAM,CAAC,EAAE,OAAO,YAAa,EAAE,OAAO,aAC5C,IAAK,IAAI,EAAI,GAAS,GAAK,EAAG,CAC5B,MAAM,EAAO,EAAI,GAAG,OACpB,GAAI,EAAK,KAAM,aACT,EAAK,KACf,CACA,CCbA,SAAU,EAAK,GACb,MAAM,KAAE,EAAI,MAAE,EAAK,IAAE,GAAQ,IAAK,KAAiB,GAC7C,EAAQ,EAAQ,EAAM,EAAO,GACnC,EAAM,SAAQ,CAAC,EAAG,IAAM,EAAM,GAAS,EAAJ,EAAQ,GAAK,IAChD,MAAM,EAAO,EAAI,EACjB,IAAI,EAAM,EAAI,GACd,IAAK,IAAI,EAAI,EAAG,GAAQ,KAAW,GAAK,IAAS,EAAI,GACnD,GAAO,EAAM,GACb,GAAO,EAAM,GAAK,EAAO,EAAI,KAAK,GAClC,GAAQ,iBACF,EAAO,EAAM,CAEvB,CCZK,MAAC,EAAS,GAAS,EAAW,EAAK,GAAO,EAAK,ICCpD,SAAU,EAAK,GACb,MAAM,KAAE,EAAO,EAAC,MAAE,EAAK,IAAE,GAAQ,IAAK,KAAiB,GACjD,EAAQ,EAAQ,EAAM,EAAO,GAC7B,EAAO,EAAI,EACjB,IAAI,EAAM,EAAI,GACd,IAAK,IAAI,EAAI,GAAS,EAAI,EAAI,IAAM,EAAG,CACrC,MAAM,EAAK,EAAM,GAAK,EACtB,GAAO,EAAM,GACb,GAAO,EAAM,GAAM,EAAI,KAAK,SACtB,EAAM,CAChB,CACA,CCZA,SAAU,EAAI,GACZ,MAAM,KAAE,EAAI,MAAE,EAAK,IAAE,GAAQ,IAAK,KAAiB,GAC7C,EAAQ,EAAQ,EAAM,EAAO,GAC7B,EAAO,EAAI,EACjB,IAAI,EAAM,EAAI,GACd,IAAK,IAAI,EAAI,KAAW,GAAK,IAAS,EAAI,GACxC,GAAO,EAAM,GACb,GAAO,EAAM,GAAK,EAAI,KAAK,SACrB,EAAM,CAEhB,CCVK,MAAC,EAAU,GAAS,EAAW,EAAI,GAAO,EAAI,ICDnD,SAAU,EAAM,GACd,MAAM,MAAE,EAAK,IAAE,GAAQ,IAAK,KAAiB,GAC7C,aACQ,EAAI,KAAK,EAEnB,Q","file":"/npm/@thi.ng/colored-noise@1.0.125/index.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/@thi.ng/colored-noise@1.0.125/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { SYSTEM } from \"@thi.ng/random/system\";\nconst DEFAULT_OPTS = {\n  bins: 2,\n  scale: 1,\n  rnd: SYSTEM\n};\nexport {\n  DEFAULT_OPTS\n};\n","const preseed = (n, scale, rnd) => {\n  const state = new Array(n);\n  for (let i = 0; i < n; i++) {\n    state[i] = rnd.norm(scale);\n  }\n  return state;\n};\nconst sum = (src) => src.reduce((sum2, x) => sum2 + x, 0);\nfunction* interleave(a, b) {\n  const src = [a[Symbol.iterator](), b[Symbol.iterator]()];\n  for (let i = 0; true; i ^= 1) {\n    const next = src[i].next();\n    if (next.done) return;\n    yield next.value;\n  }\n}\nexport {\n  interleave,\n  preseed,\n  sum\n};\n","import { DEFAULT_OPTS } from \"./api.js\";\nimport { preseed, sum } from \"./utils.js\";\nfunction* blue(opts) {\n  const { bins, scale, rnd } = { ...DEFAULT_OPTS, ...opts };\n  const state = preseed(bins, scale, rnd);\n  state.forEach((x, i) => state[i] = i & 1 ? x : -x);\n  const invN = 1 / bins;\n  let acc = sum(state);\n  for (let i = 0, sign = -1; true; ++i >= bins && (i = 0)) {\n    acc -= state[i];\n    acc += state[i] = sign * rnd.norm(scale);\n    sign ^= 4294967294;\n    yield sign * acc * invN;\n  }\n}\nexport {\n  blue\n};\n","import { blue } from \"./blue.js\";\nimport { interleave } from \"./utils.js\";\nconst green = (opts) => interleave(blue(opts), blue(opts));\nexport {\n  green\n};\n","import { ctz32 } from \"@thi.ng/binary/count\";\nimport { DEFAULT_OPTS } from \"./api.js\";\nimport { preseed, sum } from \"./utils.js\";\nfunction* pink(opts) {\n  const { bins = 8, scale, rnd } = { ...DEFAULT_OPTS, ...opts };\n  const state = preseed(bins, scale, rnd);\n  const invN = 1 / bins;\n  let acc = sum(state);\n  for (let i = 0; true; i = i + 1 >>> 0) {\n    const id = ctz32(i) % bins;\n    acc -= state[id];\n    acc += state[id] = rnd.norm(scale);\n    yield acc * invN;\n  }\n}\nexport {\n  pink\n};\n","import { DEFAULT_OPTS } from \"./api.js\";\nimport { preseed, sum } from \"./utils.js\";\nfunction* red(opts) {\n  const { bins, scale, rnd } = { ...DEFAULT_OPTS, ...opts };\n  const state = preseed(bins, scale, rnd);\n  const invN = 1 / bins;\n  let acc = sum(state);\n  for (let i = 0; true; ++i >= bins && (i = 0)) {\n    acc -= state[i];\n    acc += state[i] = rnd.norm(scale);\n    yield acc * invN;\n  }\n}\nexport {\n  red\n};\n","import { red } from \"./red.js\";\nimport { interleave } from \"./utils.js\";\nconst violet = (opts) => interleave(red(opts), red(opts));\nexport {\n  violet\n};\n","import { DEFAULT_OPTS } from \"./api.js\";\nfunction* white(opts) {\n  const { scale, rnd } = { ...DEFAULT_OPTS, ...opts };\n  while (true) {\n    yield rnd.norm(scale);\n  }\n}\nexport {\n  white\n};\n"]}