Project
Test nul en de grootste passende waarde, en weiger booleans, ongeldige breedten en waarden die niet passen.
Zet gehele woorden om naar Graycode en terug met een expliciete breedte van één tot 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 resultTest nul en de grootste passende waarde, en weiger booleans, ongeldige breedten en waarden die niet passen.
Vergelijk 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.
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 is een AI-programmeeromgeving voor Windows die aannames over gegevensrepresentatie zichtbaar maakt tijdens de ontwikkeling. Neem de conversiecode en de code die deze gebruikt op in een projectgesprek en geef aan welke waarden en bitbreedtes de interface accepteert. Met die context kan het model een concrete wijziging bespreken in plaats van een algemene routine met andere grenzen voor te stellen.
Neem een Gray-codeconversie met vaste bitbreedte als taak. Vraag om zowel de heen- als terugconversie te controleren, inclusief hun gedeelde invoercontrole. Geef enkele bekende waarden en een grensgeval voor de bitbreedte en vraag vervolgens alleen de correcties die nodig zijn voor het beoogde contract. Zo krijgt het gesprek een toetsbaar doel.
Controleer hoe het voorstel omgaat met waarden buiten de gekozen bitbreedte. Stilzwijgend afkappen en expliciet weigeren leiden tot ander softwaregedrag, ook als gewone conversies overeenkomen. Voer de projecttests uit, vergelijk heen-en-terugconversies binnen het ondersteunde bereik en bekijk de foutafhandeling bij de aanroeper. Bewaar zowel exact verwachte coderingen als omkeerbare voorbeelden.
Verbind een model via een ondersteund OpenAI-compatibel of Anthropic-endpoint en voeg zo nodig inloggegevens toe. De keuze voor AI zonder censuur geldt wanneer je endpoint zo'n model aanbiedt; de daadwerkelijke beperkingen blijven van belang. Ondersteuning voor tools en contextcapaciteit hangen af van model en server, terwijl jij verantwoordelijk blijft voor het contract en de uiteindelijke patch.
Nee. Twee functies kunnen elkaars inverse zijn en toch de verkeerde omzetting uitvoeren. Gebruik onafhankelijk bekende coderingen naast heen-en-terugcontroles en bekijk hoe de gebruikende code het resultaat interpreteert voordat je de voorgestelde wijziging accepteert.
Leg vast of je contract ze weigert of bewust afkapt. Vraag het model om bestaande validatie en verwachtingen van aanroepers na te gaan. Maskeren verandert het gedrag als aanroepers eerder een fout kregen, ook wanneer het de conversie vereenvoudigt.
Begin met de code die de geconverteerde waarde opslaat, vergelijkt of verstuurt, plus relevante tests. Daarmee worden aannames over bitbreedte en representatie zichtbaar. Breid de context alleen uit wanneer de inspectie een andere afhankelijkheid aanwijst die nodig is om de voorgestelde bewerking te begrijpen.
Nee. Controleer het ondersteunde bereik in code en tests. Bekijk ook de uitvoering van tools: een afzonderlijk draaiende lokale modelserver maakt niet elke verbonden tool lokaal en bewijst evenmin waar die tests daadwerkelijk draaien.
GraySorrel · Bijgewerkt 2026-10-25