// call compress() finally. the first case here is for the complicated case,
// the last else is for the simple case (sequential vector)
const IndexSet vec_owned_elements = vec.locally_owned_elements();
+
+ // FIXME: This has to be refactored into a typetrait
if ((typeid(vec) != typeid(Vector<double>)) &&
(typeid(vec) != typeid(Vector<float>)) &&
+ (typeid(vec) != typeid(Vector<std::complex<double> >)) &&
(typeid(vec) != typeid(BlockVector<double>)) &&
(typeid(vec) != typeid(BlockVector<float>)) &&
+ (typeid(vec) != typeid(BlockVector<std::complex<double> >)) &&
(typeid(vec) != typeid(LinearAlgebra::Vector<double>)) &&
- (typeid(vec) != typeid(LinearAlgebra::Vector<float>)))
+ (typeid(vec) != typeid(LinearAlgebra::Vector<float>)) &&
+ (typeid(vec) != typeid(LinearAlgebra::Vector<std::complex<double> >)))
{
// This processor owns only part of the vector. one may think that
// every processor should be able to simply communicate those elements