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.
- Chrome Extensions (Manifest V3) enforce strict security policies that forbid
-
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 directsub(expression, variable, value)
syntax is generally more robust for string-based input if explicitly supported.
- Typing a substitution command with an object literal directly into the calculator string, like
-
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.