+template <typename Number>
+template <typename Number2>
+inline void
+Vector<Number>::reinit(const Vector<Number2> &v,
+ const bool omit_zeroing_entries)
+{
+ // go to actual reinit functions in case we need to change something with
+ // the vector, else there is nothing to be done
+ if (!omit_zeroing_entries || size() != v.size())
+ {
+ do_reinit(v.size(), omit_zeroing_entries, false);
+ thread_loop_partitioner = v.thread_loop_partitioner;
+ }
+}
+
+
+
// Moved from vector.templates.h as an inline function by Luca Heltai
// on 2009/04/12 to prevent strange compiling errors, after making
// swap virtual.
-template <typename Number>
-template <typename Number2>
-void
-Vector<Number>::reinit(const Vector<Number2> &v,
- const bool omit_zeroing_entries)
-{
- do_reinit(v.size(), omit_zeroing_entries, false);
- thread_loop_partitioner = v.thread_loop_partitioner;
-}
-
-
-
template <typename Number>
bool
Vector<Number>::all_zero() const
template bool
Vector<int>::operator==<int>(dealii::Vector<int> const &) const;
-template void
-Vector<int>::reinit<double>(const Vector<double> &, const bool);
-
// instantiate for long double manually because we use it in a few places:
template class Vector<long double>;
template long double
{
template bool Vector<S1>::operator==<S2>(const Vector<S2> &) const;
template S1 Vector<S1>::operator*<S2>(const Vector<S2> &) const;
- template void Vector<S1>::reinit<S2>(const Vector<S2> &, const bool);
}
for (S1, S2 : COMPLEX_SCALARS)
{
template bool Vector<S1>::operator==<S2>(const Vector<S2> &) const;
template S1 Vector<S1>::operator*<S2>(const Vector<S2> &) const;
- template void Vector<S1>::reinit<S2>(const Vector<S2> &, const bool);
}
for (S1 : COMPLEX_SCALARS; S2 : REAL_SCALARS)
{
template Vector<S1> &Vector<S1>::operator=<S2>(const Vector<S2> &);
- template void Vector<S1>::reinit<S2>(const Vector<S2> &, const bool);
}