Hi,

I'm dealing with the complex.h header and the following lines give me a warning:

Code:

complex double W[MAX_V];
W[1] = (1 * cos(-2. * M_PI / N)) + (I * 1 * sin(-2. * M_PI / N));

Code:

implicit conversion increases floating-point precision:
'_Complex float' to '_Complex double' [-Wdouble-promotion]
W[1] = (1 * cos(-2. * M_PI / N)) + (I * 1 * sin(-2. * M_PI / N));
~~^~~ ~

I think this warning is related to those lines in complex.h, but I don't know how to fix it.

Code:

#define _Complex_I (__extension__ 1.0iF)
/* Another more descriptive name is `I'.
XXX Once we have the imaginary support switch this to _Imaginary_I. */
#undef I
#define I _Complex_I