(root)/
glibc-2.38/
math/
tst-CMPLX.c
       1  #include <complex.h>
       2  #include <stdio.h>
       3  
       4  
       5  static int
       6  do_test (void)
       7  {
       8    int result = 0;
       9  
      10  #ifdef CMPLX
      11    size_t s;
      12  
      13  #define T(f, r, i, t)							      \
      14    do {									      \
      15      s = sizeof (f (r, i));						      \
      16      if (s != sizeof (complex t))					      \
      17        {									      \
      18  	printf ("\
      19  CMPLX (" #r ", " #i ") does not produce complex " #t ": %zu\n", s);	      \
      20  	result = 1;							      \
      21        }									      \
      22    } while (0)
      23  
      24  #define C(f, t)								      \
      25    do {									      \
      26      T (f, 0.0f, 0.0f, t);						      \
      27      T (f, 0.0f, 0.0, t);						      \
      28      T (f, 0.0f, 0.0L, t);						      \
      29      T (f, 0.0f, 0.0f, t);						      \
      30      T (f, 0.0, 0.0f, t);						      \
      31      T (f, 0.0L, 0.0f, t);						      \
      32      T (f, 0.0, 0.0f, t);						      \
      33      T (f, 0.0, 0.0, t);							      \
      34      T (f, 0.0, 0.0L, t);						      \
      35      T (f, 0.0f, 0.0, t);						      \
      36      T (f, 0.0, 0.0, t);							      \
      37      T (f, 0.0L, 0.0, t);						      \
      38      T (f, 0.0L, 0.0f, t);						      \
      39      T (f, 0.0L, 0.0, t);						      \
      40      T (f, 0.0L, 0.0L, t);						      \
      41      T (f, 0.0f, 0.0L, t);						      \
      42      T (f, 0.0, 0.0L, t);						      \
      43      T (f, 0.0L, 0.0L, t);						      \
      44    } while (0)
      45  
      46    C (CMPLXF, float);
      47    C (CMPLX, double);
      48    C (CMPLXL, long double);
      49  #endif
      50  
      51    return result;
      52  }
      53  
      54  #define TEST_FUNCTION do_test ()
      55  #include "../test-skeleton.c"