Skip to content

Known Limitations & Issues

While JS Calc strives to be a comprehensive tool, there are some inherent limitations:

  • Advanced Symbolic Solving: Nerdamer.js, while powerful, cannot solve all types of equations symbolically. This is especially true for:

    • Complex transcendental equations (e.g., involving mixed trigonometric, exponential, and logarithmic terms).
    • Highly general systems of non-linear equations. In such cases, it may return an unevaluated expression, a partial solution, or an error message.
  • Content Security Policy (CSP) & unsafe-eval:

    • Chrome Extensions (Manifest V3) enforce strict security policies that forbid 'unsafe-eval'.
    • Some highly complex symbolic operations within Nerdamer (like certain definite integrals of non-elementary functions, or complex Laplace transforms) might internally attempt to use eval-like mechanisms.
    • When this occurs, the operation will be blocked by CSP, resulting in an error. This is a platform security restriction for running advanced libraries in a secure extension environment.
  • Nerdamer sub() with Object Literal:

    • Typing a substitution command with an object literal directly into the calculator string, like sub(x+y, {x:1, y:2}), is not reliably parsed by Nerdamer's main string parser.
    • Workaround: Use multiple single sub calls (e.g., sub(sub(x+y,x,1),y,2)) or define variables first (e.g., x=1; y=2; x+y). A direct sub(expression, variable, value) syntax is generally more robust for string-based input if explicitly supported.
  • Performance:

    • Very complex symbolic operations or calculations on extremely large expressions can be computationally intensive.
    • This may lead to noticeable processing times or, in rare, extreme cases, could hit browser performance limits.