+2000-11-21 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * include/bits/std_complex.h (complex<double>): Constructor
+ complex<double>::complex(const complex<float>&) is not explicit;
+ since it is a promotion.
+ (complex<long double>): Constructors taking complex<float> and
+ complex<double> are not explicit.
+
2000-11-20 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
#ifdef _GLIBCPP_BUGGY_COMPLEX
complex(const complex& __z) : _M_value(__z._M_value) { }
#endif
- explicit complex(const complex<float>&);
+ complex(const complex<float>&);
explicit complex(const complex<long double>&);
double real() const;
#ifdef _GLIBCPP_BUGGY_COMPLEX
complex(const complex& __z) : _M_value(__z._M_value) { }
#endif
- explicit complex(const complex<float>&);
- explicit complex(const complex<double>&);
+ complex(const complex<float>&);
+ complex(const complex<double>&);
long double real() const;
long double imag() const;
// These bits have to be at the end of this file, so that the
// specializations have all been defined.
+ // ??? No, they have to be there because of compiler limitation at
+ // inlining. It suffices that class specializations be defined.
inline
complex<float>::complex(const complex<double>& __z)
: _M_value(_ComplexT(__z._M_value)) { }