Celočíselná Walshova–Hadamardova transformace
Použijte nenormalizovanou Walshovu–Hadamardovu transformaci na neprázdnou posloupnost omezených celých čísel s délkou mocniny dvou nejvýše 256.
def walsh_transform(values):
out = list(values)
n = len(out)
if not 1 <= n <= 256 or n & (n - 1):
raise ValueError("length.power_two")
if any(type(v) is not int or abs(v) > 1000000 for v in out):
raise ValueError("value.range")
step = 1
while step < n:
for start in range(0, n, 2 * step):
for j in range(start, start + step):
a, b = out[j], out[j + step]
out[j], out[j + step] = a + b, a - b
step *= 2
return out| Projekt | Odmítněte chybné délky a logické hodnoty a ověřte, že dvojí použití násobí původní vstup jeho délkou. |
|---|---|
| Před použitím zkontrolujte | 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. |
| Modely | 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 walsh_transform(values):
out = list(values)
n = len(out)
if not 1 <= n <= 256 or n & (n - 1):
raise ValueError("length.power_two")
if any(type(v) is not int or abs(v) > 1000000 for v in out):
raise ValueError("value.range")
step = 1
while step < n:
for start in range(0, n, 2 * step):
for j in range(start, start + step):
a, b = out[j], out[j + step]
out[j], out[j + step] = a + b, a - b
step *= 2
return outPři refaktoringu zachovejte přehled o konvencích transformace
WalshAster je programovací prostředí Windows pro práci na změnách kódu s připojeným modelem AI. Výpočetní refaktoring se posuzuje snáze, když je nejprve uvedena původní konvence. Než asistenta požádáte o reorganizaci smyček nebo jinou implementaci, popište přijímaný vstup, očekávaný tvar výstupu a pravidlo škálování.
Příklad celočíselné Walshovy–Hadamardovy transformace poskytuje konkrétní úlohu pro tento rozhovor. Požádejte model o kontrolu aktualizovaných dvojic a meze délky vstupu v kontextu vlastního modulu. Konvenci příkladu uveďte výslovně, aby známý název nevedl asistenta k předpokladu normalizované varianty nebo jiného pořadí výsledků.
Při kontrole porovnejte návrh kódu s malými známými výstupy a vlastnostmi, které má projekt zachovat. U tohoto příkladu poskytuje dvojí aplikace transformace užitečnou kontrolu škálování vedle případů odmítnutého vstupu. Kontroly spusťte sami a prozkoumejte volající kód interpretující výstup; interní refaktoring nemá potichu měnit datovou konvenci, kterou mu vystavuje.
Model AI bez omezení zvolte pouze přes podporovaný koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic, který jej nabízí. Nastavte potřebné přihlašovací údaje a ověřte kapacitu kontextu i nástroje. Omezení připojeného modelu nadále závisejí na poskytovateli a navržené zjednodušení stále potřebuje důkazy z vaší skutečné implementace a testů.
Kontrolní otázky k údržbě transformace
- Jakou konvenci zdokumentovat před žádostí o refaktoring?
Uveďte pořadí výstupu, škálování, přijímané délky vstupu i typy prvků zpracovávané modulem. Přiložte malý známý vstup a výstup. Zabráníte nahrazení jinou konvencí transformace pod stejným názvem.
- Stačí samotná kontrola dvojí transformace?
Pro ilustrovanou konvenci je užitečná, ale má doprovázet známé výstupy a testy hranic vstupu. Ověřte i interpretaci volajícího. Zachovaná algebraická vlastnost nutně nedokazuje, že pořadí a chování rozhraní stále odpovídají očekávání aplikace.
- Jak prověřit změnu, která mění vstup?
Nejprve určete, zda stávající kontrakt změnu vstupu dovoluje. Zahrňte volající, kteří původní hodnoty znovu používají, a toto použití výslovně otestujte. Návrh šetřící paměť mění pozorovatelné chování, pokud volající spoléhají na nezměněnou vstupní posloupnost.
- Mění použití jiného modelu potřebné ověření?
Ne. Při posuzování návrhu jiného modelu zachovejte stejné přijímané vstupy, známé výsledky a kontroly škálování. Volba modelu může změnit vysvětlení nebo návrh kódu, ale neprokazuje správnost ani nenahrazuje ověření projektu.
WalshAster · Aktualizováno 2026-10-25