Progetto
Prova zero e il massimo valore ammesso, rifiutando booleani, larghezze errate e valori che non rientrano.
Converti interi in codice Gray e viceversa con larghezza esplicita da uno a 16 bit.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultProva zero e il massimo valore ammesso, rifiutando booleani, larghezze errate e valori che non rientrano.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultGraySorrel è un ambiente di programmazione con IA per Windows che rende visibili le ipotesi sulla rappresentazione durante lo sviluppo. Porta il codice di conversione e quello che lo utilizza in una conversazione sul progetto, poi specifica quali valori e larghezze accetta l'interfaccia. Questo contesto aiuta il modello a discutere una modifica concreta anziché suggerire una procedura generica con limiti diversi.
Considera come attività una conversione in codice Gray a larghezza fissa. Chiedi di esaminare insieme la conversione diretta e quella inversa, incluso il controllo condiviso degli input. Fornisci alcuni valori noti e un caso al limite della larghezza, poi richiedi soltanto le correzioni necessarie per il contratto previsto. L'esempio dà alla conversazione un obiettivo verificabile.
Controlla come la proposta gestisce i valori che superano la larghezza scelta. Il troncamento silenzioso e il rifiuto esplicito producono comportamenti diversi, anche se le conversioni ordinarie coincidono. Esegui i test del progetto, confronta le conversioni di andata e ritorno nell'intervallo supportato ed esamina la gestione degli errori nel chiamante. Conserva sia le codifiche attese esatte sia gli esempi reversibili.
Collega un modello tramite un endpoint supportato compatibile con OpenAI o Anthropic, aggiungendo le credenziali se richieste. La scelta di un modello di IA senza censura si applica quando il tuo endpoint ne offre uno; le sue restrizioni effettive restano rilevanti. Il supporto degli strumenti e la capacità di contesto dipendono dal modello e dal server, mentre la responsabilità del contratto e della modifica finale rimane tua.
No. Due funzioni possono essere inverse tra loro pur implementando la mappatura sbagliata. Includi codifiche note da fonti indipendenti oltre ai controlli di andata e ritorno, ed esamina come il codice utilizzatore interpreta il risultato prima di accettare la modifica proposta.
Specifica se il contratto li rifiuta o li tronca deliberatamente. Chiedi al modello di seguire la validazione esistente e le aspettative dei chiamanti. La mascheratura cambia il comportamento se prima i chiamanti ricevevano un errore, anche quando semplifica la conversione.
Inizia dal codice che memorizza, confronta o trasmette il valore convertito, insieme ai test pertinenti. Questo rivela le ipotesi su larghezza e rappresentazione. Amplia il contesto soltanto quando l'esame individua un'altra dipendenza necessaria a capire la modifica proposta.
No. Verifica l'intervallo supportato nel codice e nei test. Esamina anche l'esecuzione degli strumenti: usare un server di modelli locale in esecuzione separata non rende locali tutti gli strumenti collegati né stabilisce dove vengano effettivamente eseguiti quei test.
GraySorrel · Aggiornato 2026-10-25