{"version":3,"sources":["jsdelivr-header.js","/npm/flo-gauss-quadrature@2.1.3/node/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACaA,SAAS,gBAAgB,EAAG,EAAU,EAAQ,IAC1C,GAAI,EAAS,KAAO,EAAS,GACzB,OAAO,EAEX,MAAM,QAAE,EAAO,UAAE,GAAc,gBAAgB,IACxC,EAAG,GAAK,EACf,IAAI,EAAS,EACb,MAAM,GAAM,EAAI,GAAK,EACf,GAAM,EAAI,GAAK,EACrB,IAAK,IAAI,EAAI,EAAG,GAAK,EAAQ,EAAG,IAC5B,GAAU,EAAQ,GAAK,EAAE,EAAK,EAAU,GAAK,GAEjD,OAAO,EAAK,CAChB,CAEA,MAAM,gBAAkB,CACpB,EAAG,CACC,QAAS,CAAC,EAAG,GACb,UAAW,EAAE,kBAAoB,oBAErC,EAAG,CACC,QAAS,CACL,kBAAoB,kBACpB,kBAAoB,mBAExB,UAAW,EACN,kBAAoB,mBACpB,kBAAoB,oBAG7B,EAAG,CACC,QAAS,CACL,iBAAoB,iBACpB,kBAAoB,kBACpB,kBAAoB,kBACpB,kBAAoB,mBAExB,UAAW,EACN,kBAAoB,mBACpB,iBAAoB,kBACpB,kBAAoB,mBACpB,kBAAoB,oBAI7B,GAAI,CACA,QAAS,CACL,oBACA,oBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,qBAEJ,UAAW,EACN,mBACA,mBACA,mBACA,kBACA,mBACA,oBACA,mBACA,mBACD,mBACA,kBACA,mBACA,kBACA,iBACA,kBACA,kBACA,oBAGR,GAAI,CACA,QAAS,CACL,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBACA,mBACA,mBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,qBAEJ,UAAW,EACN,oBACD,qBACC,mBACD,oBACC,mBACD,oBACC,mBACD,oBACC,mBACD,oBACC,kBACD,mBACC,mBACD,oBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,mBACD,oBACC,kBACD,mBACC,iBACD,kBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,kBACD,mBACC,iBACD,kBACC,iBACD,kBACC,kBACD,mBACC,kBACD,mBACC,kBACD,4BAIH","file":"/npm/flo-gauss-quadrature@2.1.3/node/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/flo-gauss-quadrature@2.1.3/node/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","// TODO A future improvement can be to use the Gauss–Kronrod rules\n// to estimate the error and thus choose a number of constants based\n// on the error. Maybe not.\n// TODO In future, the constants can be calculated and cached so we can\n// choose any value for the order.\n// TODO - to limit rounding error do pairwise addition of terms\n// TODO order abscissas\n// TODO - auto calc abscissas and weights (on first call to function only)\n/**\n * Numerically integrates the given function using the Gaussian Quadrature\n * method.\n *\n * See https://en.wikipedia.org/wiki/Gaussian_quadrature\n * See http://pomax.github.io/bezierinfo/#arclength\n * @param f The univariate function to be integrated\n * @param interval The integration interval\n * @param order Can be 2, 4, 8, or 16. Higher values give more accurate results\n * but is slower - defaults to 16.\n */\nfunction gaussQuadrature(f, interval, order = 16) {\n    if (interval[0] === interval[1]) {\n        return 0;\n    }\n    const { weights, abscissas } = GAUSS_CONSTANTS[order];\n    const [a, b] = interval;\n    let result = 0;\n    const m1 = (b - a) / 2;\n    const m2 = (b + a) / 2;\n    for (let i = 0; i <= order - 1; i++) {\n        result += weights[i] * f(m1 * abscissas[i] + m2);\n    }\n    return m1 * result;\n}\n// The Gaussian Legendre Quadrature method constants. \nconst GAUSS_CONSTANTS = {\n    2: {\n        weights: [1, 1],\n        abscissas: [-0.5773502691896257, 0.5773502691896257]\n    },\n    4: {\n        weights: [\n            0.6521451548625461, 0.6521451548625461,\n            0.3478548451374538, 0.3478548451374538\n        ],\n        abscissas: [\n            -0.3399810435848563, 0.3399810435848563,\n            -0.8611363115940526, 0.8611363115940526\n        ]\n    },\n    8: {\n        weights: [\n            0.3626837833783620, 0.3626837833783620,\n            0.3137066458778873, 0.3137066458778873,\n            0.2223810344533745, 0.2223810344533745,\n            0.1012285362903763, 0.1012285362903763\n        ],\n        abscissas: [\n            -0.1834346424956498, 0.1834346424956498,\n            -0.5255324099163290, 0.5255324099163290,\n            -0.7966664774136267, 0.7966664774136267,\n            -0.9602898564975363, 0.9602898564975363\n        ]\n    },\n    // Taken from http://keisan.casio.com/exec/system/1330940731\n    16: {\n        weights: [\n            0.0271524594117540948518,\n            0.062253523938647892863,\n            0.0951585116824927848099,\n            0.1246289712555338720525,\n            0.1495959888165767320815,\n            0.169156519395002538189,\n            0.182603415044923588867,\n            0.189450610455068496285,\n            0.1894506104550684962854,\n            0.182603415044923588867,\n            0.1691565193950025381893,\n            0.149595988816576732081,\n            0.124628971255533872053,\n            0.095158511682492784809,\n            0.062253523938647892863,\n            0.027152459411754094852\n        ],\n        abscissas: [\n            -0.989400934991649932596,\n            -0.944575023073232576078,\n            -0.86563120238783174388,\n            -0.7554044083550030338951,\n            -0.6178762444026437484467,\n            -0.4580167776572273863424,\n            -0.28160355077925891323,\n            -0.0950125098376374401853,\n            0.0950125098376374401853,\n            0.28160355077925891323,\n            0.4580167776572273863424,\n            0.617876244402643748447,\n            0.755404408355003033895,\n            0.8656312023878317438805,\n            0.944575023073232576078,\n            0.989400934991649932596\n        ],\n    },\n    64: {\n        weights: [\n            0.048690957009139724,\n            0.048690957009139724,\n            0.04857546744150343,\n            0.04857546744150343,\n            0.048344762234802954,\n            0.048344762234802954,\n            0.04799938859645831,\n            0.04799938859645831,\n            0.04754016571483031,\n            0.04754016571483031,\n            0.04696818281621002,\n            0.04696818281621002,\n            0.046284796581314416,\n            0.046284796581314416,\n            0.04549162792741814,\n            0.04549162792741814,\n            0.044590558163756566,\n            0.044590558163756566,\n            0.04358372452932345,\n            0.04358372452932345,\n            0.04247351512365359,\n            0.04247351512365359,\n            0.04126256324262353,\n            0.04126256324262353,\n            0.03995374113272034,\n            0.03995374113272034,\n            0.038550153178615626,\n            0.038550153178615626,\n            0.03705512854024005,\n            0.03705512854024005,\n            0.035472213256882386,\n            0.035472213256882386,\n            0.033805161837141606,\n            0.033805161837141606,\n            0.03205792835485155,\n            0.03205792835485155,\n            0.030234657072402478,\n            0.030234657072402478,\n            0.028339672614259483,\n            0.028339672614259483,\n            0.02637746971505466,\n            0.02637746971505466,\n            0.024352702568710874,\n            0.024352702568710874,\n            0.022270173808383253,\n            0.022270173808383253,\n            0.02013482315353021,\n            0.02013482315353021,\n            0.017951715775697343,\n            0.017951715775697343,\n            0.015726030476024718,\n            0.015726030476024718,\n            0.013463047896718643,\n            0.013463047896718643,\n            0.011168139460131128,\n            0.011168139460131128,\n            0.008846759826363947,\n            0.008846759826363947,\n            0.006504457968978363,\n            0.006504457968978363,\n            0.004147033260562468,\n            0.004147033260562468,\n            0.001783280721696433,\n            0.001783280721696433\n        ],\n        abscissas: [\n            -0.024350292663424433,\n            0.024350292663424433,\n            -0.07299312178779904,\n            0.07299312178779904,\n            -0.12146281929612056,\n            0.12146281929612056,\n            -0.16964442042399283,\n            0.16964442042399283,\n            -0.21742364374000708,\n            0.21742364374000708,\n            -0.2646871622087674,\n            0.2646871622087674,\n            -0.31132287199021097,\n            0.31132287199021097,\n            -0.3572201583376681,\n            0.3572201583376681,\n            -0.4022701579639916,\n            0.4022701579639916,\n            -0.4463660172534641,\n            0.4463660172534641,\n            -0.48940314570705296,\n            0.48940314570705296,\n            -0.5312794640198946,\n            0.5312794640198946,\n            -0.571895646202634,\n            0.571895646202634,\n            -0.6111553551723933,\n            0.6111553551723933,\n            -0.6489654712546573,\n            0.6489654712546573,\n            -0.6852363130542333,\n            0.6852363130542333,\n            -0.7198818501716109,\n            0.7198818501716109,\n            -0.7528199072605319,\n            0.7528199072605319,\n            -0.7839723589433414,\n            0.7839723589433414,\n            -0.8132653151227975,\n            0.8132653151227975,\n            -0.8406292962525803,\n            0.8406292962525803,\n            -0.8659993981540928,\n            0.8659993981540928,\n            -0.8893154459951141,\n            0.8893154459951141,\n            -0.9105221370785028,\n            0.9105221370785028,\n            -0.9295691721319396,\n            0.9295691721319396,\n            -0.9464113748584028,\n            0.9464113748584028,\n            -0.9610087996520538,\n            0.9610087996520538,\n            -0.973326827789911,\n            0.973326827789911,\n            -0.983336253884626,\n            0.983336253884626,\n            -0.9910133714767443,\n            0.9910133714767443,\n            -0.9963401167719553,\n            0.9963401167719553,\n            -0.9993050417357722,\n            0.9993050417357722\n        ]\n    }\n};\nexport { gaussQuadrature };\n"]}