GGraySorrel
AI-werkruimte voor code

Graycode met vaste bitbreedte

Zet gehele woorden om naar Graycode en terug met een expliciete breedte van één tot 16 bits.

● ● ●GraySorrel●
Werkprocessen · Graycode met vaste bitbreedte ×
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 result
✳Zet gehele woorden om naar Graycode en terug met een expliciete breedte van één tot 16 bits.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
01

Project

Test nul en de grootste passende waarde, en weiger booleans, ongeldige breedten en waarden die niet passen.

02

Controleer vóór het toepassen

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

03

Modellen

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.

Werkprocessen

Graycode met vaste bitbreedte

Werkprocessen ↗
Werkprocessen
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 result
AI-werkruimte voor code

Houd aannames over bitbreedtes zichtbaar tijdens elke wijziging

GraySorrel 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.

Een wijziging in bitrepresentatie beoordelen

Zijn heen-en-terugconversies voldoende om een codering te verifiëren?

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.

Moeten waarden die breder zijn dan het gevraagde woord worden gemaskeerd?

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.

Hoeveel van de gebruikende code moet ik opnemen?

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.

Kan een gekozen model onbewezen uitspraken over bitbreedtes betrouwbaar maken?

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.

Download voor Windows ↗

GraySorrel · Bijgewerkt 2026-10-25