Mandates: decltype(init +abs-if-needed(real-if-needed(declval<typename InVec::value_type>()))+abs-if-needed(imag-if-needed(declval<typename InVec::value_type>())))
is convertible to Scalar.
Remarks: If InVec::value_type and Scalar
are all floating-point types or specializations of complex,
and if Scalar has higher precision
than InVec::value_type,
then intermediate terms in the sum use Scalar's precision or greater.