13#include <deal.II/lac/vector.templates.h>
20# include "lac/vector.inst"
22# ifndef DEAL_II_WITH_COMPLEX_VALUES
44# define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
45 template Vector<S1>::Vector(const Vector<S2> &); \
46 template Vector<S1> &Vector<S1>::operator= <S2>(const Vector<S2> &)
48TEMPL_COPY_CONSTRUCTOR(
double,
float);
49TEMPL_COPY_CONSTRUCTOR(
float,
double);
51# ifdef DEAL_II_WITH_COMPLEX_VALUES
52TEMPL_COPY_CONSTRUCTOR(std::complex<double>, std::complex<float>);
53TEMPL_COPY_CONSTRUCTOR(std::complex<float>, std::complex<double>);
56# undef TEMPL_COPY_CONSTRUCTOR
59# define TEMPL_OP_EQ(S1, S2) \
60 template void Vector<S1>::scale(const Vector<S2> &); \
61 template void Vector<S1>::equ(const S1, const Vector<S2> &)
63TEMPL_OP_EQ(
double,
float);
64TEMPL_OP_EQ(
float,
double);
67# ifdef DEAL_II_WITH_COMPLEX_VALUES
68TEMPL_OP_EQ(std::complex<double>, std::complex<float>);
69TEMPL_OP_EQ(std::complex<float>, std::complex<double>);
80 Assert(
false, ExcMessage(
"No lp norm for integer vectors"));
85# ifdef DEAL_II_TRILINOS_WITH_TPETRA
86# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_FLOAT
99# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_DOUBLE
108template ::Vector<float> &
110 const ::LinearAlgebra::TpetraWrappers::
111 Vector<double, ::MemorySpace::Host> &);
114# ifdef DEAL_II_WITH_COMPLEX_VALUES
115# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_COMPLEX_FLOAT
132# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_COMPLEX_DOUBLE
typename numbers::NumberTraits< Number >::real_type real_type
real_type lp_norm(const real_type p) const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)