Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Effectue une rotation à gauche d’un mot non signé sur une largeur de 1 à 64 bits.
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))) & maskComparez 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.
Teste les rotations nulles et complètes en réduisant le compte modulo la largeur, en refusant les comptes négatifs et les valeurs trop grandes.
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 fournit un espace de projet Windows pour discuter de modifications du code source qui dépendent d’une représentation précise. Ouvrez le code et décrivez les valeurs attendues par l’application environnante. Demandez au modèle d’expliquer les limites d’entrée pertinentes avant une refactorisation, afin qu’une expression apparemment plus simple ne modifie pas silencieusement l’opération.
Vous pouvez apporter rotate_word.py dans cette session comme tâche concrète. Précisez la largeur du mot et le comportement attendu pour un nombre de rotations supérieur à cette largeur, puis examinez le code proposé et ses appelants. L’exemple donne un contrat borné à la conversation ; il ne signifie pas que l’espace fournit une bibliothèque d’opérations sur les bits.
Utilisez quelques cas de test spécifiés indépendamment pour vérifier la proposition dans votre environnement. Incluez une rotation nulle, une rotation d’une largeur entière et une valeur dont le bit accepté le plus haut est activé. Examinez aussi les entrées rejetées, surtout si une autre couche convertit les valeurs avant d’appeler l’utilitaire. Préservez la convention de représentation de l’application pendant toute la modification.
Un modèle d’IA ablaté peut aider s’il est proposé par un point de terminaison compatible OpenAI ou Anthropic pris en charge. Configurez cette connexion et les identifiants nécessaires dans l’espace. Les restrictions du modèle, la capacité de contexte et les outils dépendent toujours du serveur choisi ; la vérification d’acceptation relève donc de votre projet plutôt que de l’étiquette du modèle.
Vérifiez le contrat actuel avant de supposer qu’il signifie une rotation inverse. L’exemple rejette les nombres négatifs. Si un appelant nécessite des nombres signés, demandez explicitement ce changement et précisez les résultats attendus de part et d’autre de zéro.
Le même entier et le même nombre de rotations peuvent produire des résultats différents selon la largeur du mot. Incluez les trois entrées et la sortie attendue. Sans ce contexte, un modèle peut expliquer une opération valide qui utilise simplement une autre représentation que votre application.
Il peut imposer la représentation de sortie ; le supprimer peut donc modifier les résultats observables. Demandez comment la modification conserve la largeur acceptée et testez des cas avec des bits hauts. Examinez les appelants qui sérialisent ou comparent le résultat selon la même convention.
Comparez son comportement à des exemples limites choisis indépendamment et à la politique d’entrée existante. Lisez l’explication des décalages du langage ainsi que l’expression. Un code plus court n’est utile que s’il conserve la représentation et le comportement de rejet requis.
BitWhorl · Mis à jour 2026-10-25