13#include <deal.II/lac/vector.templates.h>
20# include "lac/vector.inst"
22# ifndef DEAL_II_WITH_COMPLEX_VALUES
45# define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
46 template Vector<S1>::Vector(const Vector<S2> &); \
47 template Vector<S1> &Vector<S1>::operator=<S2>(const Vector<S2> &)
49TEMPL_COPY_CONSTRUCTOR(
double,
float);
50TEMPL_COPY_CONSTRUCTOR(
float,
double);
52# ifdef DEAL_II_WITH_COMPLEX_VALUES
53TEMPL_COPY_CONSTRUCTOR(std::complex<double>, std::complex<float>);
54TEMPL_COPY_CONSTRUCTOR(std::complex<float>, std::complex<double>);
57# undef TEMPL_COPY_CONSTRUCTOR
60# define TEMPL_OP_EQ(S1, S2) \
61 template void Vector<S1>::scale(const Vector<S2> &); \
62 template void Vector<S1>::equ(const S1, const Vector<S2> &)
64TEMPL_OP_EQ(
double,
float);
65TEMPL_OP_EQ(
float,
double);
68# ifdef DEAL_II_WITH_COMPLEX_VALUES
69TEMPL_OP_EQ(std::complex<double>, std::complex<float>);
70TEMPL_OP_EQ(std::complex<float>, std::complex<double>);
81 Assert(
false, ExcMessage(
"No lp norm for integer vectors"));
86# ifdef DEAL_II_TRILINOS_WITH_TPETRA
87# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_FLOAT
102# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_DOUBLE
113template ::Vector<float> &
115 const ::LinearAlgebra::TpetraWrappers::Vector<double,
120# ifdef DEAL_II_WITH_COMPLEX_VALUES
121# ifdef DEAL_II_TRILINOS_WITH_TPETRA_INST_COMPLEX_FLOAT
138# 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)