calculator について
算術式を任意精度の十進演算で評価するスキルです。基本演算子、括弧、整数の指数に対応しますが、記号計算や三角関数には対応しません。
主な機能
- 01任意精度の十進演算
- 02演算子の優先順位と括弧
- 03右結合の整数指数演算
- 04式の誤りとゼロ除算のエラー処理
活用シーン
- 01浮動小数点の誤差を避けた十進計算
- 02入れ子の括弧を含む式の評価
- 03右結合の順序による整数累乗の計算
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ code-and-sorts/ awesome-copilot-agents --skill calculatorインストール後、Claude Code で/calculatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/jest.config.jspackage-lock.jsonpackage.jsontsconfig.jsonscripts/src/calculator.test.tscalculator.tsrun.ts詳細
Calculator
big.js を使用して、任意精度の十進演算で算術式を評価します。
使用する場面
- ユーザーが計算や数式の評価を求めている場合
- 高精度な十進演算が必要な場合(
0.1 + 0.2 = 0.30000000000000004のような浮動小数点演算の誤差を回避できます) - 式に括弧、演算子の優先順位、または累乗が含まれている場合
サポートされている演算
| 演算子 | 説明 | 優先順位 |
|---|---|---|
+ | 加算 | 1 |
- | 減算 | 1 |
* | 乗算 | 2 |
/ | 除算 | 2 |
^ | 累乗(右結合) | 3 |
() | 括弧 | 最優先 |
使い方
cd scripts
npm ci || npm install
npm run build
npm run calculate "<expression>"
例
| 入力 | 出力 |
|---|---|
"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(右結合:2^9) |
エッジケース
- 空の式:"Empty expression" エラーが発生します
- 括弧の不一致:"Mismatched parentheses" エラーが発生します
- ゼロ除算:big.js がエラーを発生させます
- 指数は整数である必要があります:big.js の
.pow()では指数に整数が必要です
制限事項
- 三角関数(sin、cos、tan)は使用できません
- 変数や記号演算には対応していません
- 指数は整数である必要があります
- 階乗、剰余、ビット演算子には対応していません
コメント
Markdown 対応