If I create a complex number with amplitude negativ (-1) and no phase (0), thus corresponding to a double of -1, and convert it back to amplitude and phase, the amplitude is not negative
complex<double> c;
c = polar(-1.0, 0.0);
cout << c << ", " << abs(c) << ", " << arg(c) << endl;
the output is
(-1, 0), 1, -3.14159
it should have been
(-1, 0), -1, 0
How can I get back the correct amplitude value?