| |||
| Home > 부동 소수점 지원 > 소프트웨어 부동 소수점 라이브러리 fplib > 부동 소수점 비교 | |||
Table 6.4에서는 부동 소수점 숫자 간 비교를 수행하는 루틴에 대해 설명합니다. 자세한 내용은 표의 참고 정보 열을 참고하여 부동 소수점 비교 루틴 참고 정보를 참조하십시오.
Table 6.4. 부동 소수점 비교 루틴
| 함수 | 인수 타입 | 결과 타입 | 테스트 조건 | 참고 정보 |
|---|---|---|---|---|
_fcmpeq | 2 float | 플래그, EQ/NE | x는 y와 같음 | a |
_fcmpge | 2 float | 플래그, HS/LO | x는 y보다 크거나 같음 | a, b |
_fcmple | 2 float | 플래그, HI/LS | x는 y보다 작거나 같음 | a, b |
_feq | 2 float | Bool | x는 y와 같음 | - |
_fneq | 2 float | Bool | x는 y와 같지 않음 | - |
_fgeq | 2 float | Bool | x는 y보다 크거나 같음 | b |
_fgr | 2 float | Bool | x는 y보다 큼 | b |
_fleq | 2 float | Bool | x는 y보다 작거나 같음 | b |
_fls | 2 float | Bool | x는 y보다 작음 | b |
_dcmpeq | 2 double | 플래그, EQ/NE | x는 y와 같음 | a |
_dcmpge | 2 double | 플래그, HS/LO | x는 y보다 크거나 같음 | a, b |
_dcmple | 2 double | 플래그, HI/LS | x는 y보다 작거나 같음 | a, b |
_deq | 2 double | Bool | x는 y와 같음 | - |
_dneq | 2 double | Bool | x는 y와 같지 않음 | - |
_dgeq | 2 double | Bool | x는 y보다 크거나 같음 | b |
_dgr | 2 double | Bool | x는 y보다 큼 | b |
_dleq | 2 double | Bool | x는 y보다 작거나 같음 | b |
_dls | 2 double | Bool | x는 y보다 작음 | b |
_fcmp4 | 2 float | 플래그, VFP | x는 y보다 작거나 같음 | c |
_fcmp4e | 2 float | 플래그, VFP | x는 y보다 작거나 같음 | b, c |
_fdcmp4 | float, double | 플래그, VFP | x는 y보다 작거나 같음 | c |
_fdcmp4e | float, double | 플래그, VFP | x는 y보다 작거나 같음 | b, c |
_dcmp4 | 2 double | 플래그, VFP | x는 y보다 작거나 같음 | c |
_dcmp4e | 2 double | 플래그, VFP | x는 y보다 작거나 같음 | b, c |
_dfcmp4 | double, float | 플래그, VFP | x는 y보다 작거나 같음 | c |
_dfcmp4e | double, float | 플래그, VFP | x는 y보다 작거나 같음 | b, c |
ARM 조건 플래그에 결과를 반환합니다. 조건 명령어를 사용하여 함수 호출을 직접 따를 수 있기 때문에
어셈블리 언어에서는 효율적이지만, 이는 C에서는 이 함수를 사용할 수 없다는 의미이기도 합니다. 이 함수는 rt_fp.h에
선언되어 있지 않습니다.
두 인수 중 하나가 NaN이면, Quiet NaN인 경우에도 잘못된 연산 예외가 발생합니다. 다른 함수의 경우 인수 하나가 SNaN일 때에만 잘못된 연산이 발생합니다. QNaN는 어떤 것과 비교해도 not equal을 반환합니다. 심지어 다른 QNaN과 비교해도 마찬가지입니다.(즉, QNaN을 같은 QNaN과 비교해도 not equal을 반환합니다.)
CPSR에
VFP 타입의 상태 플래그를 반환합니다. 또한 r0의 최상위 4비트에도 VFP 타입의
상태 플래그를 반환합니다. 이는 C에서 이 함수를 사용할 수 있음을 뜻하며, 이 함수는 rt_fp.h에
선언되어 있습니다.