Gehele Walsh–Hadamard-transformatie
Pas de ongenormaliseerde Walsh–Hadamard-transformatie toe op een niet-lege reeks begrensde gehele getallen met een tweemachtslengte tot 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| Project | Weiger ongeldige lengten en booleaanse waarden, en controleer dat tweemaal toepassen de oorspronkelijke reeks met de lengte vermenigvuldigt. |
|---|---|
| Controleer vóór het toepassen | Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen. |
| 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. |
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 outHoud transformatieconventies zichtbaar tijdens een herstructurering
WalshAster is een Windows-programmeerwerkruimte om broncodewijzigingen met een verbonden AI-model te onderzoeken. Rekenwerk is gemakkelijker te herstructureren en beoordelen als de oorspronkelijke conventie eerst wordt vastgelegd. Beschrijf de toegestane invoer, verwachte uitvoerstructuur en schaalregel voordat u de assistent vraagt lussen te reorganiseren of een andere implementatie in te voeren.
Het voorbeeld met de gehele-getal-Walsh–Hadamard-transformatie biedt een concrete taak voor dat gesprek. Laat het model de updateparen en invoerlengtegrens in de context van uw eigen module inspecteren. Houd de conventie van het voorbeeld expliciet, zodat een bekende naam de assistent niet laat uitgaan van een genormaliseerde variant of een andere resultaatvolgorde.
Vergelijk tijdens de beoordeling de voorgestelde code met kleine bekende uitkomsten en met de eigenschappen die uw project moet behouden. In dit voorbeeld biedt tweemaal toepassen van de transformatie een nuttige schaalcontrole, naast afwijzingsgevallen. Voer de controles zelf uit en onderzoek alle aanroepende code die de uitvoer interpreteert; een interne herstructurering mag de daar zichtbare gegevensconventie niet ongemerkt veranderen.
Kies een onbeperkt AI-model uitsluitend via een ondersteund OpenAI-compatibel of Anthropic-eindpunt dat het beschikbaar stelt. Configureer de vereiste inloggegevens en controleer contextcapaciteit en hulpmiddelen. De beperkingen van het verbonden model blijven afhankelijk van de aanbieder en de voorgestelde vereenvoudiging vereist nog steeds bewijs uit uw daadwerkelijke implementatie en tests.
Beoordelingsvragen voor transformatieonderhoud
- Welke conventie moet ik documenteren voordat ik om herstructurering vraag?
Vermeld uitvoervolgorde, schaling en toegestane invoerlengtes, samen met de elementtypen die uw module verwerkt. Geef een kleine bekende invoer en uitvoer. Zo voorkomt u dat een voorstel onder dezelfde naam een andere transformatieconventie invoert.
- Is alleen een dubbele-transformatiecontrole voldoende?
Die is nuttig voor de geïllustreerde conventie, maar moet worden gecombineerd met bekende uitkomsten en tests van invoergrenzen. Controleer ook de interpretatie door de aanroepende code. Een behouden algebraïsche eigenschap bewijst niet noodzakelijk dat de volgorde en het interfacegedrag blijven voldoen aan de verwachtingen van de toepassing.
- Hoe beoordeel ik een wijziging die de invoer muteert?
Bepaal eerst of het bestaande contract mutatie toestaat. Betrek aanroepende code die de oorspronkelijke waarden hergebruikt erbij en test dat hergebruik expliciet. Een geheugenbesparend voorstel verandert waarneembaar gedrag als die code op een ongewijzigde invoerreeks vertrouwt.
- Verandert het gebruik van een ander model de vereiste verificatie?
Nee. Gebruik dezelfde toegestane invoer, bekende resultaten en schaalcontroles bij het overwegen van een voorstel van een ander model. Modelkeuze kan de uitleg of voorgestelde code veranderen, maar stelt correctheid niet vast en vervangt projectverificatie niet.
WalshAster · Bijgewerkt 2026-10-25