from math import copysign, ldexp
def binary16_value(word):
if type(word) is not int or not 0 <= word <= 65535:
raise ValueError("binary16.word")
sign = -1.0 if word & 0x8000 else 1.0
exponent, fraction = (word >> 10) & 31, word & 1023
if exponent == 31:
return copysign(float("nan") if fraction else float("inf"), sign)
value = ldexp(fraction, -24) if exponent == 0 else ldexp(1024+fraction, exponent-25)
return copysign(value, sign)| 적용하기 전에 검토하세요 | 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요. |
|---|---|
| 모델 | 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다. |
| 프로젝트 | 부호 있는 영, 비정규수, 무한대와 NaN을 검사하며 NaN 페이로드를 보존하지 않고 불리언이나 범위 밖 단어를 거부합니다. |
from math import copysign, ldexp
def binary16_value(word):
if type(word) is not int or not 0 <= word <= 65535:
raise ValueError("binary16.word")
sign = -1.0 if word & 0x8000 else 1.0
exponent, fraction = (word >> 10) & 31, word & 1023
if exponent == 31:
return copysign(float("nan") if fraction else float("inf"), sign)
value = ldexp(fraction, -24) if exponent == 0 else ldexp(1024+fraction, exponent-25)
return copysign(value, sign)일반 값을 넘어 간결한 수치 형식을 검토하세요
HalfJunia는 표현에 민감한 소스 변경을 검토하는 Windows AI 코딩 소프트웨어입니다. 디코딩된 값이 잘못된 것처럼 보이면 원래 워드, 관찰한 결과, 예상 해석을 프로젝트 대화에 가져오세요. 특수 값에도 쓰일 수 있는 분기를 바꾸기 전에 연결된 모델에게 관련 소스를 살펴보도록 요청하세요.
예를 들어 binary16 디코딩 작업은 부호 있는 0, 비정규 값, 무한대, NaN을 명시적으로 처리해야 할 수 있습니다. 입력이 부호 없는 16비트 워드임을 명시하고 NaN 페이로드 보존이 요구 범위 밖인지 밝히세요. 그러면 검토자가 제안된 구현 및 호출부와 대조할 수 있는 한정된 계약이 생깁니다.
자신의 환경에서 각 범주의 대표 워드를 확인하세요. 부호 있는 0에는 실제로 부호를 구분하는 관찰을, NaN에는 일반 동등성 대신 적절한 범주 검사를 사용하세요. 불리언 또는 범위를 벗어난 입력 거부를 별도로 검토하세요. 익숙한 유한 값 몇 개는 유용하지만 가장 놓치기 쉬운 분기를 실행하지는 못합니다.
HalfJunia는 지원되는 OpenAI 호환 또는 Anthropic 엔드포인트에 연결하며 필요하면 인증 정보를 사용합니다. 공급자가 필터 없는 AI 모델을 제공한다면 코딩 대화에 선택할 수 있습니다. 제한, 컨텍스트 용량, 도구는 모델과 서버에 따라 달라지며 설명도 여전히 검증해야 할 제안입니다.
수치 형식 검토 준비
예상치 못한 디코딩 값에는 어떤 증거를 첨부해야 하나요?
정확한 입력 워드, 예상 범주, 관찰 결과와 함께 이를 사용하는 호출부를 제공하세요. 반올림된 표시 문자열에만 의존하지 마세요. 소스 논의에는 표현 처리와 이후 인터페이스 형식 지정을 구분할 만큼 충분한 정보가 필요합니다.
일반 동등성으로 모든 특수 값을 검증할 수 있나요?
아니요. 0의 부호를 구분하는 관찰과 적절한 NaN 테스트 등 범주에 맞는 검사를 선택하세요. 작업에 기대값을 명시하고 실제 환경에서 실행하여 제안된 디코더를 일반 유한 값의 동등성 이상으로 평가하세요.
NaN 페이로드 보존을 가정해도 되나요?
구현이 지원하는 명시적인 요구 사항일 때만 그렇습니다. 예시 디코딩 작업은 페이로드를 보존하지 않습니다. 소비부에 필요하다면 수치 범주나 값만 반환하는 제안을 수락하기 전에 별도 계약을 설명하세요.
거부 테스트 사례에 불리언 입력을 포함하는 이유는 무엇인가요?
일부 언어의 타입 관계에서는 폭넓은 정수 검사로 불리언도 허용될 수 있습니다. 계약이 실제 워드 값을 요구하고 불리언을 제외한다면 명시하세요. 비공식 타입 설명에 의존하지 말고 허용 범위와 함께 이 구분을 검증하세요.
HalfJunia · 업데이트 2026-10-25