def morton2(x, y, bits):
if type(bits) is not int or not 1 <= bits <= 16:
raise ValueError("bits.range")
if any(type(v) is not int or not 0 <= v < (1 << bits)
for v in (x, y)):
raise ValueError("coordinate.range")
result = 0
for i in range(bits):
result |= ((x >> i) & 1) << (2 * i)
result |= ((y >> i) & 1) << (2 * i + 1)
return result- プロジェクト
- 四隅と最大幅を試し、負数、小数、範囲外の座標を拒否します。
- 適用前に確認
- 実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
- モデル
- OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
def morton2(x, y, bits):
if type(bits) is not int or not 1 <= bits <= 16:
raise ValueError("bits.range")
if any(type(v) is not int or not 0 <= v < (1 << bits)
for v in (x, y)):
raise ValueError("coordinate.range")
result = 0
for i in range(bits):
result |= ((x >> i) & 1) << (2 * i)
result |= ((y >> i) & 1) << (2 * i + 1)
return resultコンパクトな索引コードを利用対象のデータに結び付ける
索引コードは短くても、その前提は保存と取得の処理全体に及ぶことがあります。TerraInterlaceは、自分のプロジェクトでその関係をレビューするWindows用AIコーディングクライアントです。変更を提案する前に、座標の入力、索引の表現、利用側を調べるよう接続したモデルに依頼します。型の拡大が仕様の拡大に黙ってつながらないよう、対応範囲を依頼に含めます。
たとえば、座標ビットを交互に配置するグリッドキーの保守支援を依頼できます。エンコード用ヘルパーと、その出力を保存・読み取りするコードを対話に含めます。軸の順序とビット幅の説明を求め、前提が食い違う場合は対象を絞った提案を求めます。対象は利用者のグリッド実装であり、付属の地図システムではありません。
実際のキーに影響する境界で提案を検証します。ゼロ、対応する最大座標、受け入れ範囲のすぐ外の値を検証します。既知の座標を期待するキーと比較し、永続化したデータの解釈が変わらないか調べます。数学的にもっともらしいエンコーダーでも、アプリケーションの他の部分との互換性が必要です。
TerraInterlaceはOpenAI互換とAnthropicのエンドポイントへの接続に対応します。サービスが提供する場合に無検閲AIモデルを選べます。コンテキスト容量、ツール、制限はその構成の特性です。プロジェクトの表現と、実際に調べられる変更をレビューの中心に据えてください。
索引変更前に決めること
ビット交互配置ヘルパーのレビューになぜ利用側も含めるのですか?
利用側が、ヘルパーに記載されていない軸順序、幅、保存キーの形式を前提にしている場合があります。両側を調べると、見た目の整った変更で既存データの解釈が変わる前に依存関係を見つけられます。
大きな整数型なら安全に範囲を拡張できますか?
自動的に安全になるわけではありません。検証、保存幅、キーを扱うすべての利用側を確認します。アシスタントに依存関係の特定を求め、範囲拡張を独自のテストを伴う意図的な互換性変更としてレビューしてください。
軸順序の誤りが分かる例は?
一方の軸だけがゼロでない座標と、期待キーを独立に指定した混合ケースを使います。対称な座標では軸の入れ替わりが隠れることがあります。期待する規約をプロジェクトのテストデータのそばに記してください。
修正と同時に保存済みのキーを再生成すべきですか?
表現が実際に変わるか、既存レコードの可読性をどう保つかを確認してからです。まず影響分析を求めます。ヘルパーの編集案だけでは、データ移行を許可したことにも実装したことにもなりません。
TerraInterlace · 更新日 2026-10-25