適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
def rotate_left(value, count, width):
if any(type(x) is not int for x in (value, count, width)):
raise ValueError("rotate.type")
if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
raise ValueError("rotate.range")
count %= width
mask = (1 << width) - 1
return ((value << count) | (value >> (width - count))) & mask実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
回転数を幅の剰余にしてゼロ回転と一周の回転を試し、負の回転数と収まらない値を拒否してください。
def rotate_left(value, count, width):
if any(type(x) is not int for x in (value, count, width)):
raise ValueError("rotate.type")
if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
raise ValueError("rotate.range")
count %= width
mask = (1 << width) - 1
return ((value << count) | (value >> (width - count))) & maskBitWhorlは、厳密な表現に依存するソース変更を話し合うためのWindows用プロジェクト作業環境です。コードを開き、周辺のアプリケーションが期待する値を説明してください。一見簡単な式で処理の意味を黙って変えないよう、リファクタリングを頼む前に、関連する入力制限をモデルに説明させましょう。
具体的な作業としてrotate_word.pyを取り上げられます。ワード幅と、その幅を超える回転数で期待する動作を明示し、提案コードと呼び出し元を一緒にレビューしてください。この例は会話に範囲の定まった仕様を与えるもので、作業環境がビット演算ライブラリを提供するという主張ではありません。
独立に指定したいくつかのテストデータで、自分の環境において提案を確認します。回転数ゼロ、幅と等しい回転数、受け付ける最上位ビットが立った値を含めましょう。別の層が補助関数の呼び出し前に値を変換する場合は特に、拒否される入力も確認してください。修正全体を通じてアプリケーションの表現規則を維持します。
対応するOpenAI互換またはAnthropicのエンドポイントが提供していれば、拒否抑制を除去したAIモデルの支援を利用できます。作業環境で接続と必要な認証情報を設定してください。モデルの制約、コンテキスト容量、利用可能なツールは引き続き選んだサーバーに依存するため、受け入れ判断はモデルの名称ではなくプロジェクトのチェックで行います。
反対方向への回転を意味すると考える前に現在の仕様を確認してください。この例では負の回転数を拒否します。符号付きの回転数が必要なら、動作変更として明示的に依頼し、ゼロの両側で期待する結果を指定しましょう。
同じ整数と回転数でもワード幅によって結果が変わります。3つの入力すべてと期待出力を示してください。この文脈がないと、モデルはアプリケーションと違う表現を使った、単独では正しい処理を説明するかもしれません。
出力の表現を強制する役割を持つため、除去すると観察可能な結果が変わり得ます。修正案がどう出力を許容幅に収めるのかを尋ね、上位ビットのテストデータを使いましょう。同じ規則で結果を直列化したり比較したりする呼び出し元もレビューしてください。
独立に選んだ境界の例と既存の入力方針で動作を比較します。式自体だけでなく、言語のシフト演算の意味についての説明も読んでください。ソースが短いことに価値があるのは、必要な表現と拒否動作を修正後も保てる場合だけです。
BitWhorl · 更新日 2026-10-25