Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Roteer een woord zonder teken linksom binnen een breedte van 1 tot en met 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))) & maskVergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Test nulrotaties en volledige omwentelingen met de telling modulo de breedte en weiger negatieve tellingen en waarden die niet passen.
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 biedt een projectomgeving voor Windows om broncodewijzigingen te bespreken die afhangen van een precieze representatie. Open de code en beschrijf welke waarden de omliggende toepassing verwacht. Vraag het model de relevante invoergrenzen uit te leggen voordat u om refactoring vraagt, zodat een ogenschijnlijk eenvoudigere expressie de bewerking niet stilzwijgend verandert.
U kunt rotate_word.py als concrete taak in die sessie inbrengen. Vermeld de woordbreedte en het verwachte gedrag bij een rotatieaantal groter dan die breedte en beoordeel vervolgens de voorgestelde code samen met de aanroepers. Het voorbeeld geeft het gesprek een afgebakend contract; het beweert niet dat de omgeving een bibliotheek met bitbewerkingen levert.
Gebruik enkele onafhankelijk gespecificeerde testgevallen om het voorstel in uw omgeving te controleren. Neem nulrotatie, rotatie over de volledige breedte en een waarde met de hoogst geaccepteerde bit ingesteld op. Inspecteer ook afgewezen invoer, vooral als een andere laag waarden converteert voordat deze de hulpfunctie aanroept. Behoud de representatieconventie van de toepassing gedurende de hele wijziging.
Een abliterated AI-model kan helpen wanneer een ondersteund OpenAI-compatibel of Anthropic-endpoint dit aanbiedt. Configureer die verbinding en eventuele vereiste toegangsgegevens in de omgeving. Modelbeperkingen, contextcapaciteit en beschikbare tools hangen nog steeds af van de gekozen server, dus de acceptatiecontrole hoort bij uw project en niet bij het modellabel.
Controleer het huidige contract voordat u aanneemt dat dit rotatie in de omgekeerde richting betekent. Het voorbeeld wijst negatieve aantallen af. Als een aanroeper aantallen met een teken nodig heeft, vraag dat dan als expliciete gedragswijziging en specificeer verwachte resultaten aan beide kanten van nul.
Hetzelfde gehele getal en rotatieaantal kunnen bij verschillende woordbreedtes andere resultaten opleveren. Vermeld alle drie de invoerwaarden en de verwachte uitvoer. Zonder die context kan een model een geldige bewerking uitleggen die simpelweg een andere representatie gebruikt dan uw toepassing.
Het kan de uitvoerrepresentatie afdwingen, dus weglaten kan waarneembare resultaten veranderen. Vraag hoe de voorgestelde wijziging uitvoer binnen de geaccepteerde breedte houdt en test gevallen met hoge bits. Beoordeel aanroepers die het resultaat volgens dezelfde conventie serialiseren of vergelijken.
Vergelijk het gedrag met onafhankelijk gekozen grensvoorbeelden en het bestaande invoerbeleid. Lees zowel de uitleg van de verschuivingssemantiek van de taal als de expressie zelf. Kortere broncode is alleen nuttig als de aangepaste code de vereiste representatie en afwijzingsregels behoudt.
BitWhorl · Bijgewerkt 2026-10-25