/
githubmirror
/
glibc
Обзор
Документация
Войти
/
githubmirror
/
glibc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
math/tst-CMPLX.c
55 строк
1 KB
Joseph Myers
Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).
18 май 2013, 16:12
18 май 2013, 16:12
2ee094f
Код
Авторство
О чём код?
#include <complex.h> #include <stdio.h> static int do_test (void) { int result = 0; #ifdef CMPLX size_t s; #define T(f, r, i, t) \ do { \ s = sizeof (f (r, i)); \ if (s != sizeof (complex t)) \ { \ printf ("\ CMPLX (" #r ", " #i ") does not produce complex " #t ": %zu\n", s); \ result = 1; \ } \ } while (0) #define C(f, t) \ do { \ T (f, 0.0f, 0.0f, t); \ T (f, 0.0f, 0.0, t); \ T (f, 0.0f, 0.0L, t); \ T (f, 0.0f, 0.0f, t); \ T (f, 0.0, 0.0f, t); \ T (f, 0.0L, 0.0f, t); \ T (f, 0.0, 0.0f, t); \ T (f, 0.0, 0.0, t); \ T (f, 0.0, 0.0L, t); \ T (f, 0.0f, 0.0, t); \ T (f, 0.0, 0.0, t); \ T (f, 0.0L, 0.0, t); \ T (f, 0.0L, 0.0f, t); \ T (f, 0.0L, 0.0, t); \ T (f, 0.0L, 0.0L, t); \ T (f, 0.0f, 0.0L, t); \ T (f, 0.0, 0.0L, t); \ T (f, 0.0L, 0.0L, t); \ } while (0) C (CMPLXF, float); C (CMPLX, double); C (CMPLXL, long double); #endif return result; } #define TEST_FUNCTION do_test () #include "../test-skeleton.c"