내배캠/Unreal Engine
부동 소수점 연산 오차
동그래님
2025. 1. 21. 15:31
FMath::IsNearlyZero
static bool IsNearlyZero(float Value, float Tolerance = SMALL_NUMBER);
- 부동소수점 연산의 특성상 발생할 수 있는 미세한 오차를 고려하여, 특정한 허용 오차 범위 내에서 0인지 판단한다.
- Value: 검사할 실수 값
- Tolerance: 허용 오차로, 기본 값은 SMALL_NUMBER(언리얼에 정의된 상수로, 아주 작은 값)이다.
- bool: true이면 값이 Tolerance 내에서 0에 가까운 것으로 간주, false이면 값이 0에서 멀다고 판단
FMath::IsNearlyEqual
static bool IsNearlyEqual(float A, float B, float Tolerance = KINDA_SMALL_NUMBER);
- A와 B의 값을 비교해 Tolerance 범위 내에서 true를 반환, Tolerance 범위를 벗어나면 다른 값으로 판단해 false 반환