6.2.5. 부동 소수점 비교

Table 6.4에서는 부동 소수점 숫자 간 비교를 수행하는 루틴에 대해 설명합니다. 자세한 내용은 표의 참고 정보 열을 참고하여 부동 소수점 비교 루틴 참고 정보를 참조하십시오.

Table 6.4. 부동 소수점 비교 루틴

함수인수 타입결과 타입테스트 조건참고 정보
_fcmpeq2 float플래그, EQ/NEx는 y와 같음a
_fcmpge2 float플래그, HS/LOx는 y보다 크거나 같음a, b
_fcmple2 float플래그, HI/LSx는 y보다 작거나 같음a, b
_feq2 floatBoolx는 y와 같음-
_fneq2 floatBoolx는 y와 같지 않음-
_fgeq2 floatBoolx는 y보다 크거나 같음b
_fgr2 floatBoolx는 y보다 큼b
_fleq2 floatBoolx는 y보다 작거나 같음b
_fls2 floatBoolx는 y보다 작음b
_dcmpeq2 double플래그, EQ/NEx는 y와 같음a
_dcmpge2 double플래그, HS/LOx는 y보다 크거나 같음a, b
_dcmple2 double플래그, HI/LSx는 y보다 작거나 같음a, b
_deq2 doubleBoolx는 y와 같음-
_dneq2 doubleBoolx는 y와 같지 않음-
_dgeq2 doubleBoolx는 y보다 크거나 같음b
_dgr2 doubleBoolx는 y보다 큼b
_dleq2 doubleBoolx는 y보다 작거나 같음b
_dls2 doubleBoolx는 y보다 작음b
_fcmp42 float플래그, VFPx는 y보다 작거나 같음c
_fcmp4e2 float플래그, VFPx는 y보다 작거나 같음b, c
_fdcmp4float, double플래그, VFPx는 y보다 작거나 같음c
_fdcmp4efloat, double플래그, VFPx는 y보다 작거나 같음b, c
_dcmp42 double플래그, VFPx는 y보다 작거나 같음c
_dcmp4e2 double플래그, VFPx는 y보다 작거나 같음b, c
_dfcmp4double, float플래그, VFPx는 y보다 작거나 같음c
_dfcmp4edouble, float플래그, VFPx는 y보다 작거나 같음b, c

부동 소수점 비교 루틴 참고 정보

a

ARM 조건 플래그에 결과를 반환합니다. 조건 명령어를 사용하여 함수 호출을 직접 따를 수 있기 때문에 어셈블리 언어에서는 효율적이지만, 이는 C에서는 이 함수를 사용할 수 없다는 의미이기도 합니다. 이 함수는 rt_fp.h에 선언되어 있지 않습니다.

b

두 인수 중 하나가 NaN이면, Quiet NaN인 경우에도 잘못된 연산 예외가 발생합니다. 다른 함수의 경우 인수 하나가 SNaN일 때에만 잘못된 연산이 발생합니다. QNaN는 어떤 것과 비교해도 not equal을 반환합니다. 심지어 다른 QNaN과 비교해도 마찬가지입니다.(즉, QNaN을 같은 QNaN과 비교해도 not equal을 반환합니다.)

c

CPSR에 VFP 타입의 상태 플래그를 반환합니다. 또한 r0의 최상위 4비트에도 VFP 타입의 상태 플래그를 반환합니다. 이는 C에서 이 함수를 사용할 수 있음을 뜻하며, 이 함수는 rt_fp.h에 선언되어 있습니다.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0205GK
Non-Confidential