_mm_frcz_ss
업데이트: 2011년 3월
Visual Studio 2010 SP1이 필요합니다.
Microsoft 전용
XOP XMM 명령 vfrczss를 생성하여 두 번째 소스의 하위 단정밀도 부동 소수점 값의 소수 부분을 추출합니다.
__m128d _mm_frcz_ss (
__m128 high,
__m128 src
);
매개 변수
[in] high
3개 상위 더블워드에 32비트 부동 소수점 값을 포함하는 128비트 매개 변수입니다.[in] src
하위 더블워드에 32비트 부동 소수점 값을 포함하는 128비트 매개 변수입니다.
반환 값
4개의 32비트 부동 소수점 값을 포함하는 128비트 결과 r입니다.
r[0] := fractional_part_of(src[0]);
r[i] := high[i]; // i = 1,2,3
요구 사항
내장 |
아키텍처 |
---|---|
_mm_frcz_ss |
XOP |
헤더 파일 <intrin.h>
설명
src의 하위 단정밀도 부동 소수점 값의 소수 부분이 추출되고 대상에 하위 값으로 저장됩니다. 이 결과 값의 부호는 소스 값의 부호입니다. high에서 3개 상위 단정밀도 부동 소수점 값은 대상에 해당 값으로 저장됩니다.
vfrczss 명령은 XOP 명령군의 일부입니다. 이 intrinsic을 사용하기 전에 프로세서가 이 명령을 지원하는지 확인해야 합니다. 이 명령에 대한 하드웨어 지원을 확인하려면 InfoType = 0x80000001을 사용하여 __cpuid intrinsic을 호출하고 CPUInfo[2] (ECX)의 비트 11을 확인합니다. 명령이 지원되는 경우 비트는 1이고, 그렇지 않으면 0입니다.
예제
#include <stdio.h>
#include <intrin.h>
int main()
{
__m128 a, b, d;
int i;
a.m128_f32[0] = 1.125;
b.m128_f32[1] = -17.875;
b.m128_f32[2] = 0.;
b.m128_f32[3] = 1.;
d = _mm_frcz_ss(b, a);
printf(" %.3f %.3f %.3f %.3f\n", d.m128_f32[0], d.m128_f32[1],
d.m128_f32[2], d.m128_f32[3]);
}
참고 항목
참조
기타 리소스
Visual Studio 2010 SP1용으로 추가된 XOP 내장 함수
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2011년 3월 |
이 내용이 추가되었습니다. |
SP1 기능 변경 |