{"version":3,"sources":["jsdelivr-header.js","/npm/robust-subtract@1.0.0/robust-diff.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAKA,SAAS,aAAa,EAAG,GACvB,IAAI,EAAI,EAAI,EACR,EAAK,EAAI,EAIT,EADK,GAFA,EAAI,IACJ,EAAI,GAGb,OAAG,EACM,CAAC,EAAG,GAEN,CAAC,EACV,CAEA,SAAS,eAAe,EAAG,GACzB,IAAI,EAAc,EAAT,EAAE,OACP,EAAc,EAAT,EAAE,OACX,GAAU,IAAP,GAAmB,IAAP,EACb,OAAO,aAAa,EAAE,IAAK,EAAE,IAE/B,IAUI,EAAG,EATH,EAAI,IAAI,MADJ,EAAK,GAET,EAAQ,EACR,EAAO,EACP,EAAO,EACP,EAAM,KAAK,IACX,EAAK,EAAE,GACP,EAAK,EAAI,GACT,GAAM,EAAE,GACR,EAAK,EAAI,GAEV,EAAK,GACN,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,EAAK,EAAE,OAIT,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,GAAM,EAAE,MAIR,EAAO,GAAM,EAAK,GAAQ,GAAQ,GACpC,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,EAAK,EAAE,OAIT,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,GAAM,EAAE,MAUZ,IANA,IAKI,EAAI,EALJ,EAAI,EAAI,EACR,EAAK,EAAI,EACT,EAAI,EAAI,EACR,EAAK,EACL,EAAK,EAEH,EAAO,GAAM,EAAO,GACrB,EAAK,GACN,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,EAAK,EAAE,OAIT,EAAI,GACJ,GAAQ,GACE,IAER,EAAK,EADL,GAAM,EAAE,OAOZ,GAHA,EAAI,IAEJ,GADA,EAAI,EAAI,GACC,MAGP,EAAE,KAAW,GAOf,EADM,IAJN,EAAK,EAAK,IACV,EAAM,EAAK,KAEL,EAAI,GAGV,EAAK,EAEP,KAAM,EAAO,IAKX,GAHA,EAAI,IAEJ,GADA,GAFA,EAAI,GAEI,GACC,MAGP,EAAE,KAAW,GAOf,EADM,IAJN,EAAK,EAAK,IACV,EAAM,EAAK,KAEL,EAAI,GAGV,EAAK,GACL,GAAQ,GACE,IACR,EAAK,EAAE,IAGX,KAAM,EAAO,IAKX,GAHA,EAAI,IAEJ,GADA,GAFA,EAAI,GAEI,GACC,MAGP,EAAE,KAAW,GAOf,EADM,IAJN,EAAK,EAAK,IACV,EAAM,EAAK,KAEL,EAAI,GAGV,EAAK,GACL,GAAQ,GACE,IACR,GAAM,EAAE,IAaZ,OAVG,IACD,EAAE,KAAW,GAEZ,IACD,EAAE,KAAW,GAEX,IACF,EAAE,KAAW,GAEf,EAAE,OAAS,EACJ,CACT,CAzJA,OAAO,QAAU","file":"/npm/robust-subtract@1.0.0/robust-diff.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/robust-subtract@1.0.0/robust-diff.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\"\n\nmodule.exports = robustSubtract\n\n//Easy case: Add two scalars\nfunction scalarScalar(a, b) {\n  var x = a + b\n  var bv = x - a\n  var av = x - bv\n  var br = b - bv\n  var ar = a - av\n  var y = ar + br\n  if(y) {\n    return [y, x]\n  }\n  return [x]\n}\n\nfunction robustSubtract(e, f) {\n  var ne = e.length|0\n  var nf = f.length|0\n  if(ne === 1 && nf === 1) {\n    return scalarScalar(e[0], -f[0])\n  }\n  var n = ne + nf\n  var g = new Array(n)\n  var count = 0\n  var eptr = 0\n  var fptr = 0\n  var abs = Math.abs\n  var ei = e[eptr]\n  var ea = abs(ei)\n  var fi = -f[fptr]\n  var fa = abs(fi)\n  var a, b\n  if(ea < fa) {\n    b = ei\n    eptr += 1\n    if(eptr < ne) {\n      ei = e[eptr]\n      ea = abs(ei)\n    }\n  } else {\n    b = fi\n    fptr += 1\n    if(fptr < nf) {\n      fi = -f[fptr]\n      fa = abs(fi)\n    }\n  }\n  if((eptr < ne && ea < fa) || (fptr >= nf)) {\n    a = ei\n    eptr += 1\n    if(eptr < ne) {\n      ei = e[eptr]\n      ea = abs(ei)\n    }\n  } else {\n    a = fi\n    fptr += 1\n    if(fptr < nf) {\n      fi = -f[fptr]\n      fa = abs(fi)\n    }\n  }\n  var x = a + b\n  var bv = x - a\n  var y = b - bv\n  var q0 = y\n  var q1 = x\n  var _x, _bv, _av, _br, _ar\n  while(eptr < ne && fptr < nf) {\n    if(ea < fa) {\n      a = ei\n      eptr += 1\n      if(eptr < ne) {\n        ei = e[eptr]\n        ea = abs(ei)\n      }\n    } else {\n      a = fi\n      fptr += 1\n      if(fptr < nf) {\n        fi = -f[fptr]\n        fa = abs(fi)\n      }\n    }\n    b = q0\n    x = a + b\n    bv = x - a\n    y = b - bv\n    if(y) {\n      g[count++] = y\n    }\n    _x = q1 + x\n    _bv = _x - q1\n    _av = _x - _bv\n    _br = x - _bv\n    _ar = q1 - _av\n    q0 = _ar + _br\n    q1 = _x\n  }\n  while(eptr < ne) {\n    a = ei\n    b = q0\n    x = a + b\n    bv = x - a\n    y = b - bv\n    if(y) {\n      g[count++] = y\n    }\n    _x = q1 + x\n    _bv = _x - q1\n    _av = _x - _bv\n    _br = x - _bv\n    _ar = q1 - _av\n    q0 = _ar + _br\n    q1 = _x\n    eptr += 1\n    if(eptr < ne) {\n      ei = e[eptr]\n    }\n  }\n  while(fptr < nf) {\n    a = fi\n    b = q0\n    x = a + b\n    bv = x - a\n    y = b - bv\n    if(y) {\n      g[count++] = y\n    } \n    _x = q1 + x\n    _bv = _x - q1\n    _av = _x - _bv\n    _br = x - _bv\n    _ar = q1 - _av\n    q0 = _ar + _br\n    q1 = _x\n    fptr += 1\n    if(fptr < nf) {\n      fi = -f[fptr]\n    }\n  }\n  if(q0) {\n    g[count++] = q0\n  }\n  if(q1) {\n    g[count++] = q1\n  }\n  if(!count) {\n    g[count++] = 0.0  \n  }\n  g.length = count\n  return g\n}"]}