def binomial(n, k):
if any(type(v) is not int for v in (n, k)):
raise ValueError("integer.required")
if not 0 <= k <= n <= 10000:
raise ValueError("binomial.range")
k = min(k, n - k)
result = 1
for i in range(1, k + 1):
result = result * (n - k + i) // i
return resultモデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
プロジェクト
両端、対称性、大きな結果を確認し、不正値や真偽値は積のループ前に拒否します。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
def binomial(n, k):
if any(type(v) is not int for v in (n, k)):
raise ValueError("integer.required")
if not 0 <= k <= n <= 10000:
raise ValueError("binomial.range")
k = min(k, n - k)
result = 1
for i in range(1, k + 1):
result = result * (n - k + i) // i
return result数値計算の要件をコードに結び付け続ける
Choosequillは、ソースプロジェクトを見ながらAIモデルと数値計算コードを検討するWindows用開発環境です。まず、結果を有用にする要件、つまり厳密性の必要性、受け入れる入力、呼び出し元での拒否の扱いを示します。これらの判断があれば、代替実装を提案する前にアシスタントが従う具体的な基準ができます。
たとえば二項係数のタスクでは、指定した入力範囲内で厳密な整数結果を求めます。関数と呼び出し元を対話に取り込み、境界のケースと不正な入力の意味を編集がどう保つか尋ねます。簡潔な数式はレビューの一部にすぎず、周囲のソフトウェアも期待する形式で結果を受け取る必要があります。
参照値と対称性などの性質を使い、自分のプロジェクトで提案を確認します。誤った浮動小数点変換が分かる大きな結果を含め、変更コードを調べ、関連するテストを実行します。Choosequillは必要に応じて認証情報を用い、対応するOpenAI互換またはAnthropicのエンドポイントに接続できます。サービスが提供する場合に制約のないモデルを選べますが、コンテキスト上限とツールはモデルとサーバーによって決まる点に留意してください。作業を採用する基準は数値計算の仕様です。
厳密な計算のレビューに関する質問
数値計算の書き換えを依頼する前に何を示すべきですか?
受け入れる型、有効範囲、厳密性の要件、期待する失敗時の動作を指定し、結果を使用する呼び出し元を含めます。これにより、妥当なソフトウェア変更と、数学的にはもっともらしくても出力に互換性のない式を区別できます。
大きな参照結果を含めるのはなぜですか?
意図せず浮動小数点に変換しても、小さな例では通る場合があります。既知の大きな整数ならその変更が分かります。表示用に整えたテキストではなく正確な結果を比較し、呼び出し元での保存やシリアライズ方法も調べてください。
真偽値を整数として扱うべきですか?
入力仕様で明示的に決めます。既存の例では拒否しています。提案された型検査を慎重にレビューし、専用のテストデータを残して、言語の便利な変換が受け入れ入力を黙って広げないようにします。
対称性の検証は何に役立ちますか?
複数入力間の関係をテストでき、少数の参照値では見つからない誤りを検出できます。既知の答えと境界テストを併用してください。関係が成立するだけでは実装全体の正しさは証明できません。
Choosequill · 更新日 2026-10-25