정수 월시–하다마드 변환
길이가 2의 거듭제곱이고 최대 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| 프로젝트 | 잘못된 길이와 불리언 값을 거부하고 두 번 변환하면 원래 수열에 길이를 곱한 결과인지 확인합니다. |
|---|---|
| 적용하기 전에 검토하세요 | 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요. |
| 모델 | 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다. |
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리팩터링 중 변환 규약을 명확히 유지하세요
WalshAster는 연결된 AI 모델과 소스 변경을 검토하는 Windows 코딩 작업 공간입니다. 원래 규약을 먼저 명시하면 계산 리팩터링을 평가하기가 쉬워집니다. 도우미에게 반복문 재구성이나 다른 구현 도입을 요청하기 전에 허용 입력, 예상 출력 형태, 배율 규칙을 설명하세요.
정수 월시–하다마르 변환 예제는 이러한 대화에 구체적인 작업을 제공합니다. 모델에게 자체 모듈의 맥락에서 갱신 쌍과 입력 길이 경계를 살펴보도록 요청하세요. 익숙한 이름 때문에 도우미가 정규화된 변형이나 다른 결과 순서를 가정하지 않도록 예제의 규약을 명시하세요.
검토 중 제안 코드를 결과를 아는 작은 예제 및 프로젝트가 보존하려는 속성과 비교하세요. 이 예제에서는 입력 거부 사례와 함께 변환을 두 번 적용하는 것이 유용한 배율 검사가 됩니다. 직접 검사를 실행하고 출력을 해석하는 호출자를 살펴보세요. 내부 리팩터링이 그곳에 드러나는 데이터 규약을 조용히 바꾸어서는 안 됩니다.
제한 없는 AI 모델은 해당 모델을 제공하는 지원 OpenAI 호환 또는 Anthropic 엔드포인트를 통해서만 선택하세요. 필요한 인증 정보를 설정하고 컨텍스트 용량과 도구를 확인하세요. 연결된 모델의 제한은 여전히 제공자에 따라 달라지며, 제안된 단순화에는 실제 구현과 테스트에서 나온 근거가 여전히 필요합니다.
변환 유지보수 검토 질문
- 리팩터링을 요청하기 전에 어떤 규약을 문서화해야 하나요?
모듈이 처리하는 요소 자료형과 함께 출력 순서, 배율, 허용 입력 길이를 명시하세요. 결과를 아는 작은 입력과 출력을 포함하세요. 같은 이름 아래 다른 변환 규약을 대입하는 제안을 막을 수 있습니다.
- 변환을 두 번 적용하는 검사만으로 충분한가요?
예시 규약에 유용하지만 알려진 출력과 입력 경계 테스트를 함께 사용해야 합니다. 호출자의 해석도 확인하세요. 대수적 속성을 보존한다고 해서 순서와 인터페이스 동작이 애플리케이션의 기대대로 유지됨을 반드시 입증하지는 않습니다.
- 입력을 변경하는 수정은 어떻게 검토하나요?
기존 계약이 변경을 허용하는지부터 판단하세요. 원래 값을 다시 사용하는 호출자를 포함하고 그 재사용을 명시적으로 테스트하세요. 호출자가 변경되지 않은 입력 수열에 의존한다면 메모리 절약 제안은 관측 가능한 동작을 바꿉니다.
- 다른 모델을 쓰면 필요한 검증도 달라지나요?
아니요. 다른 모델의 제안을 검토해도 같은 허용 입력, 알려진 결과, 배율 검사를 유지하세요. 모델 선택은 설명이나 제안 코드를 바꿀 수 있지만 정확성을 입증하거나 프로젝트 검증을 대신하지는 않습니다.
WalshAster · 업데이트 2026-10-25