Projekt
Ověřte nulu a největší přípustnou hodnotu, odmítejte logické hodnoty, neplatné šířky a překročení rozsahu.
Převeďte celočíselná slova do Grayova kódu a zpět s výslovnou šířkou od jednoho do 16 bitů.
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 resultOvěřte nulu a největší přípustnou hodnotu, odmítejte logické hodnoty, neplatné šířky a překročení rozsahu.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
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 je pracovní prostředí pro programování s AI ve Windows, které pomáhá během vývoje zviditelnit předpoklady o reprezentaci dat. Do projektové konverzace vložte kód převodu i kód, který jej používá, a uveďte, jaké hodnoty a šířky rozhraní přijímá. Tento kontext pomáhá modelu probírat konkrétní změnu místo navrhování obecné rutiny s jinými mezemi.
Jako úlohu zvažte převod Grayova kódu s pevnou šířkou. Požádejte o společnou kontrolu převodu oběma směry včetně sdílené kontroly vstupu. Uveďte několik známých hodnot a případ na hranici šířky a potom požadujte pouze opravy nutné pro zamýšlený kontrakt. Příklad dává konverzaci ověřitelný cíl.
Prověřte, jak návrh zpracovává hodnoty mimo zvolenou šířku. Tiché oříznutí a výslovné odmítnutí vedou k odlišnému chování softwaru, i když se běžné převody shodují. Spusťte testy projektu, porovnejte převody tam a zpět v podporovaném rozsahu a zkontrolujte zpracování chyb ve volajícím kódu. Zachovejte přesná očekávaná kódování i příklady vratných převodů.
Připojte model přes podporovaný koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic a případně doplňte přihlašovací údaje. Volba AI bez cenzury se uplatní, pokud váš koncový bod takový model nabízí; jeho skutečná omezení stále platí. Podpora nástrojů a kapacita kontextu závisí na modelu a serveru, zatímco za kontrakt a konečnou úpravu odpovídáte vy.
Ne. Dvě funkce mohou být navzájem inverzní a přitom implementovat nesprávné mapování. Vedle kontrol převodu tam a zpět zahrňte nezávisle známá kódování a před přijetím navržené změny prověřte, jak výsledek interpretuje navazující kód.
Určete, zda je váš kontrakt odmítá, nebo záměrně ořezává. Požádejte model, aby prošel stávající validaci a očekávání volajících. Pokud volající dříve dostávali chybu, maskování mění chování, i když převod zjednoduší.
Začněte kódem, který převedenou hodnotu ukládá, porovnává nebo přenáší, a relevantními testy. To odhalí předpoklady o šířce a reprezentaci. Kontext rozšiřujte, pouze když kontrola odhalí další závislost potřebnou k pochopení navržené úpravy.
Ne. Podporovaný rozsah ověřte v kódu a testech. Prověřte také spouštění nástrojů: použití samostatně běžícího lokálního modelového serveru neznamená, že je každý připojený nástroj lokální, ani neurčuje, kde tyto testy skutečně běží.
GraySorrel · Aktualizováno 2026-10-25