{"version":3,"file":"fireflysemantics-math.mjs","sources":["../../../projects/math/src/lib/normal-pdf.function.ts","../../../projects/math/src/lib/normal-curve-heights.function.ts","../../../projects/math/src/public-api.ts","../../../projects/math/src/fireflysemantics-math.ts"],"sourcesContent":["/**\n * Calculates the normal PDF value\n * for a given value of x, the distribution mean,\n * and the distribution standard deviation.\n *\n * @param x The x value\n * @param std The standard deviation\n * @param mean The mean\n * @return the PDF value at X\n  */\nexport function normalPDF(x: number, mean: number, std: number) {\n  return (\n    (1 / (std * Math.sqrt(2 * Math.PI))) *\n    Math.exp(-Math.pow(x - mean, 2) / (2 * Math.pow(std, 2)))\n  );\n}\n","import { normalPDF } from \"./normal-pdf.function\";\n\n/**\n * @param x:number[] The x values\n * @param xMin The minimum x value\n * @param xMax The maximum x value\n * @param std The standard deviation\n * @param maxHeight The maximum height\n * @param stepSize The steps size, 1,2,3... defaults to 1\n */\nexport function normalCurveHeights(\n  x: number[],\n  std: number,\n  maxHeight: number,\n  stepSize: number = 1\n):number[] {\n  const xMin = Math.min(...x);\n  const xMax = Math.max(...x);\n  const pdfValues: number[] = [];\n  const heights: number[] = [];\n\n  const mean: number = (xMin + xMax) / 2;\n  let maxY = -Infinity;\n  for (let x = xMin; x <= xMax; x += stepSize) {\n    const y = normalPDF(x, mean, std);\n    pdfValues.push(y);\n    if (maxY < y) {\n      maxY = y;\n    }\n  }\n  //==============================\n  // Calculate Heights\n  //==============================\n  const factor = maxHeight / maxY;\n  for (let i = 0; i < pdfValues.length; i++) {\n    heights.push(pdfValues[i] * factor);\n  }\n  return heights;\n}\n","/*\n * Public API Surface of math\n */\n\nexport * from './lib/index';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;;;;;;;;AASI;SACY,SAAS,CAAC,CAAS,EAAE,IAAY,EAAE,GAAW,EAAA;AAC5D,IAAA,QACE,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EACzD;AACJ;;ACbA;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAChC,CAAW,EACX,GAAW,EACX,SAAiB,EACjB,QAAA,GAAmB,CAAC,EAAA;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAW,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;AACvC,IAAA,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,QAAQ,EAAE;QAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAClC,QAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,CAAC,CAAC;AACV,SAAA;AACF,KAAA;;;;AAID,IAAA,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAChC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AACrC,KAAA;AACD,IAAA,OAAO,OAAO,CAAC;AACjB;;ACtCA;;AAEG;;ACFH;;AAEG;;;;"}