Projet
Testez zéro et la valeur maximale admissible, en rejetant les booléens, les largeurs incorrectes et les dépassements.
Convertissez des entiers en code Gray et inversement avec une largeur explicite de un à 16 bits.
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 resultTestez zéro et la valeur maximale admissible, en rejetant les booléens, les largeurs incorrectes et les dépassements.
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
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 est un espace de programmation avec IA pour Windows qui rend visibles les hypothèses de représentation pendant le développement. Ajoutez le code de conversion et son consommateur à une conversation de projet, puis précisez les valeurs et largeurs acceptées par l’interface. Ce contexte aide le modèle à examiner une modification concrète plutôt qu’à suggérer une routine générale aux limites différentes.
Prenez comme tâche une conversion en code Gray à largeur fixe. Demandez un examen conjoint des conversions directe et inverse, y compris de leur validation commune des entrées. Fournissez quelques valeurs connues et un cas limite de largeur, puis demandez uniquement les corrections nécessaires au contrat visé. Cet exemple donne à la conversation un objectif vérifiable.
Examinez le traitement proposé pour les valeurs dépassant la largeur choisie. Une troncature silencieuse et un rejet explicite produisent des comportements différents, même si les conversions ordinaires concordent. Exécutez les tests du projet, comparez les allers-retours dans la plage prise en charge et examinez la gestion des erreurs par l’appelant. Conservez des encodages attendus exacts ainsi que des exemples réversibles.
Connectez un modèle via un point de terminaison compatible OpenAI ou Anthropic pris en charge, en ajoutant des identifiants si nécessaire. Le choix d’une IA sans censure s’applique lorsque votre point de terminaison propose un tel modèle ; ses restrictions réelles restent pertinentes. Les outils pris en charge et la capacité de contexte dépendent du modèle et du serveur, tandis que vous restez responsable du contrat et du correctif final.
Non. Deux fonctions peuvent être inverses tout en appliquant une correspondance incorrecte. Incluez des encodages connus indépendamment ainsi que des vérifications d’aller-retour, et examinez comment le code consommateur interprète le résultat avant d’accepter la modification proposée.
Précisez si votre contrat les rejette ou les tronque volontairement. Demandez au modèle de suivre la validation existante et les attentes des appelants. Le masquage modifie le comportement si les appelants recevaient auparavant une erreur, même s’il simplifie la conversion.
Commencez par le code qui stocke, compare ou transmet la valeur convertie, avec les tests pertinents. Il révèle les hypothèses de largeur et de représentation. Élargissez le contexte uniquement lorsque l’examen identifie une autre dépendance nécessaire à la compréhension de la modification proposée.
Non. Vérifiez la plage prise en charge dans le code et les tests. Examinez aussi l’exécution des outils : utiliser un serveur de modèles local exécuté séparément ne rend pas tous les outils connectés locaux et ne détermine pas où ces tests s’exécutent réellement.
GraySorrel · Mis à jour 2026-10-25