NYC

calculator

SKILL.md

Calculator

Evaluate arithmetic expressions with arbitrary-precision decimal math using big.js.

When to Use

  • User asks to calculate or evaluate a math expression
  • Precise decimal arithmetic is needed (avoids floating-point errors like 0.1 + 0.2 = 0.30000000000000004)
  • Expressions involve parentheses, operator precedence, or exponents

Supported Operations

Operator Description Precedence
+ Addition 1
- Subtraction 1
* Multiplication 2
/ Division 2
^ Exponent (right-associative) 3
() Parentheses Highest

Usage

cd scripts
npm ci || npm install
npm run build
npm run calculate "<expression>"

Examples

Input Output
"3 + 2" 5
"10 / 4" 2.5
"2 ^ 10" 1024
"(2 + 3) * 4" 20
"1 + 4.5 * (3-6) / 5" -1.7
"-5 + 3" -2
"2 ^ 3 ^ 2" 512 (right-associative: 2^9)

Edge Cases

  • Empty expression: Throws "Empty expression" error
  • Mismatched parentheses: Throws "Mismatched parentheses" error
  • Division by zero: big.js throws an error
  • Exponent must be integer: big.js .pow() requires integer exponents

Limitations

  • No trigonometric functions (sin, cos, tan)
  • No variables or symbolic math
  • Exponents must be integers
  • No factorial, modulo, or bitwise operators
Weekly Installs
12
First Seen
Jan 24, 2026
Installed on
opencode9
gemini-cli8
codex6
claude-code6
cursor6
antigravity5