Indexación de cuadrículas Morton
Intercala dos coordenadas enteras no negativas en un índice Morton con anchura declarada.
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- Proyecto
- Prueba esquinas y la anchura máxima admitida, rechazando valores negativos, fraccionarios o fuera de rango.
- Revisa antes de aplicar
- Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
- Modelos
- Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
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 resultConecta el código compacto de indexación con los datos que utiliza
El código de indexación puede ser breve aunque sus supuestos alcancen al almacenamiento y la recuperación. TerraInterlace es un cliente de programación con IA para Windows que permite revisar esa relación en tu proyecto. Pide al modelo conectado que inspeccione las coordenadas de entrada, la representación del índice y los consumidores antes de sugerir cambios. Incluye el intervalo admitido en la petición para que un tipo más amplio no se convierta silenciosamente en un contrato más amplio.
Por ejemplo, puedes pedir ayuda para mantener una clave de cuadrícula que entrelaza bits de coordenadas. Incorpora a la conversación la función de codificación y el código que almacena o lee su salida. Pide una explicación del orden de los ejes y la anchura en bits, seguida de una propuesta específica si esos supuestos no coinciden. La tarea trata de tu implementación de cuadrícula, no de un sistema cartográfico incluido.
Verifica la propuesta en los límites que afectan a claves reales. Ejecuta comprobaciones para cero, las coordenadas máximas admitidas y valores justo fuera del intervalo aceptado. Compara coordenadas conocidas con claves esperadas e inspecciona cualquier cambio en la interpretación de datos persistidos. Un codificador matemáticamente plausible sigue necesitando compatibilidad con el resto de la aplicación.
TerraInterlace admite conexiones a endpoints compatibles con OpenAI y de Anthropic. Selecciona un modelo de IA sin censura cuando tu servicio lo ofrezca; su capacidad de contexto, herramientas y restricciones siguen siendo propiedades de esa configuración. Centra la revisión en la representación del proyecto y en los cambios que puedas inspeccionar.
Preguntas que resolver antes de cambiar un índice
¿Por qué incluir los consumidores al revisar una función de entrelazado de bits?
Un consumidor puede asumir un orden de ejes, una anchura o un formato de clave persistida que la función no documenta. Inspeccionar ambos lados ayuda a descubrir esa dependencia antes de que un cambio aparentemente limpio altere la interpretación de los datos existentes.
¿Un tipo entero más grande hace segura una ampliación de intervalo?
No automáticamente. Comprueba la validación, la anchura de almacenamiento y cada consumidor que maneja la clave. Pide al asistente que identifique esas dependencias y revisa la ampliación como un cambio intencionado de compatibilidad con sus propias pruebas.
¿Qué ejemplos pueden revelar un error de orden de ejes?
Usa coordenadas donde solo un eje sea distinto de cero y un caso mixto con una clave esperada especificada independientemente. Las coordenadas simétricas pueden ocultar ejes intercambiados. Mantén escrita la convención esperada junto a los casos de prueba del proyecto.
¿Deben regenerarse las claves almacenadas con el parche?
Solo después de determinar si la representación cambia realmente y cómo deben seguir siendo legibles los registros existentes. Pide primero ese análisis de impacto. Un cambio propuesto en una función no autoriza ni implementa por sí solo una migración de datos.
TerraInterlace · Actualizado 2026-10-25