UUlpNacre
AI 코딩 작업 공간

유한 binary64 ULP 거리

부호 있는 0을 같게 취급하며 두 유한 binary64의 표현 가능한 단계 거리를 재세요.

● ● ●UlpNacre●
작업 흐름 · 유한 binary64 ULP 거리 ×
import math, struct

def ulp_distance(a, b):
    if any(type(x) is not float or not math.isfinite(x) for x in (a, b)):
        raise ValueError("ulp.finite")
    def key(value):
        bits = struct.unpack(">Q", struct.pack(">d", value))[0]
        magnitude = bits & ((1 << 63)-1)
        return (1 << 63)-magnitude if bits >> 63 else (1 << 63)+magnitude
    return abs(key(a)-key(b))
✳유한 binary64 ULP 거리
✓ 변경 사항적용하기 전에 검토하세요 ↗
작업 공간 예시 화면
모델
기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
프로젝트
인접 비정규수와 양쪽 부호를 시험하고 정수, 무한대, NaN을 거부하며 결과를 상대 오차로 해석하지 마세요.
적용하기 전에 검토하세요
실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
작업 흐름

유한 binary64 ULP 거리

작업 흐름 ↗
작업 흐름
import math, struct

def ulp_distance(a, b):
    if any(type(x) is not float or not math.isfinite(x) for x in (a, b)):
        raise ValueError("ulp.finite")
    def key(value):
        bits = struct.unpack(">Q", struct.pack(">d", value))[0]
        magnitude = bits & ((1 << 63)-1)
        return (1 << 63)-magnitude if bits >> 63 else (1 << 63)+magnitude
    return abs(key(a)-key(b))
AI 코딩 작업 공간

수치 불일치에 맞는 비교 규칙을 정하세요

두 수치 출력이 똑같이 표시되어도 내부 표현은 다를 수 있습니다. UlpNacre는 그 차이가 애플리케이션에 중요한지 조사하는 Windows AI 코딩 작업 공간입니다. 문제를 유발한 실제 입력, 계산, 비교를 가져오세요. 동등성 검사를 다른 규칙으로 바꾸기 전에 도우미에게 값의 생성과 판단 방식을 살펴보도록 요청하세요.

부동소수점 표현 거리 예제는 가능한 작업 중 하나입니다. 유한 입력과 부호 있는 0을 살펴본 뒤 거리 결과를 테스트나 진단에 어떻게 활용할지 논의할 수 있습니다. 애플리케이션의 허용 오차 결정과 측정 자체를 분리하세요. 소스 예제는 Python입니다. 도메인 이름이 PHP 전용 디버거를 뜻하거나 그 가정이 모든 수치 런타임에서 유효하다는 근거가 되지는 않습니다.

지원되는 OpenAI 호환 또는 Anthropic 엔드포인트를 사용해 제공되는 Abliterated AI 모델을 선택하고 필요하면 인증 정보를 사용하세요. 컨텍스트, 도구, 제한은 해당 모델과 서버에 달려 있습니다. 제안된 비교 코드를 검토하고 애플리케이션에 관련된 대표 값으로 실행하세요. 별도 로컬 모델 서버는 추론을 담당하지만 연결된 도구는 여전히 외부 서비스를 통해 작동할 수 있습니다.

표현 차이 조사

표현 거리가 작으면 항상 같다고 봐야 하나요?

이는 측정이 제공하는 결론이 아니라 애플리케이션 요구 사항입니다. 값의 용도를 고려하고 허용할 비교 규칙을 정의하세요. 제안의 한계를 설명하도록 요청하고 소프트웨어가 실제로 내리는 결정의 경계 근처 값을 테스트하세요.

값을 생성한 계산을 포함하는 이유는 무엇인가요?

생성 과정을 보면 값이 다른 이유와 예상된 차이인지 알 수 있습니다. 최종 비교를 바꾸기 전에 변환과 연산을 살펴보세요. 계산 경로가 설명되지 않은 상태에서 새 허용 오차를 적용하면 다른 곳의 결함을 감출 수 있습니다.

예제로 가능한 모든 수치 입력을 비교할 수 있나요?

아니요. 명시된 계약은 유한 부동소수점 입력을 허용하며 다른 값에는 명시적 정책이 필요합니다. 표현 거리 도우미가 모든 수치 타입이나 예외 값을 다룬다고 가정하지 말고 거부 입력도 검토에서 드러내세요.

아이디어를 다른 런타임으로 옮길 때 무엇을 확인해야 하나요?

런타임의 수치 표현, 변환 동작, 사용 가능한 연산을 확인하세요. 해당 환경에서 관련 경계 사례를 재현하세요. 제공된 Python 예제는 조사 출발점이며 테스트하지 않은 이식 코드가 동일하게 동작한다는 증거는 아닙니다.

Windows용 다운로드 ↗

UlpNacre · 업데이트 2026-10-25