モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
合成した剰余を予定やインデックスに使う前に、congruences.pyで互いに素という前提を確認します。
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。
変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period