2
내 테스트 코드에서 복잡한 계산에 사용 된 CPU 시간은 CX_LIMITED_RANGE ON/OFF
사이에 차이가 없습니다. CX_LIMITED_RANGE ON/OFF
의 차이점, #pragma STDC CX_LIMITED_RANGE ON
의 사용시기 및 방법 및 기본값 인 #pragma STDC CX_LIMITED_RANGE OFF
을 사용할 때의 차이점은 무엇입니까?CX_LIMITED_RANGE ON/OFF 사용 방법
감사합니다.
void use_CX_LIMITED_RANGE()
{
double complex z1 = 3.0 + I * 4.0;
double complex z2 = 1.0 + I * 2.0;
#pragma STDC CX_LIMITED_RANGE ON
clock_t c1 = clock();
double complex z3;
for (int i = 0; i < 100000; ++i) {
z3 = cabs(z1 * z2);
}
clock_t c2 = clock();
printf("CX_LIMITED_RANGE ON %lu cpu clock\n", c2 - c1);
printf("|z1 * z2| = %f + %fi\n", creal(z3), cimag(z3));
printf("\n");
#pragma STDC CX_LIMITED_RANGE OFF
c1 = clock();
for (int i = 0; i < 100000; ++i) {
z3 = cabs(z1 * z2);
}
c2 = clock();
printf("CX_LIMITED_RANGE OFF %lu\n", c2 - c1);
printf("|z1 * z2| = %f + %fi\n", creal(z3), cimag(z3));
}