Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
source
lac
full_matrix.cc
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 1999 - 2018 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE.md at
12
// the top level directory of deal.II.
13
//
14
// ---------------------------------------------------------------------
15
16
#include <deal.II/base/logstream.h>
17
18
#include <deal.II/lac/full_matrix.templates.h>
19
20
DEAL_II_NAMESPACE_OPEN
21
22
#include "full_matrix.inst"
23
24
#ifndef DEAL_II_WITH_COMPLEX_VALUES
25
// instantiate for std::complex<double> because we use it internally in
26
// FESeries.
27
template
class
FullMatrix<std::complex<double>
>;
28
#endif
29
30
// instantiate for long double manually because we use it in a few places
31
// inside the library
32
template
class
FullMatrix<long double>
;
33
template
void
34
FullMatrix<long double>::invert<long double>
(
const
FullMatrix<long double>
&);
35
template
void
36
FullMatrix<long double>::mmult<long double>
(
FullMatrix<long double>
&,
37
const
FullMatrix<long double>
&,
38
const
bool
)
const
;
39
template
void
40
FullMatrix<long double>::Tmmult<long double>
(
FullMatrix<long double>
&,
41
const
FullMatrix<long double>
&,
42
const
bool
)
const
;
43
template
void
44
FullMatrix<long double>::mTmult<long double>
(
FullMatrix<long double>
&,
45
const
FullMatrix<long double>
&,
46
const
bool
)
const
;
47
template
void
48
FullMatrix<long double>::TmTmult<long double>
(
FullMatrix<long double>
&,
49
const
FullMatrix<long double>
&,
50
const
bool
)
const
;
51
template
void
52
FullMatrix<long double>::vmult<long double>
(Vector<long double> &,
53
const
Vector<long double> &,
54
bool
)
const
;
55
template
void
56
FullMatrix<long double>::Tvmult<long double>
(Vector<long double> &,
57
const
Vector<long double> &,
58
bool
)
const
;
59
template
void
60
FullMatrix<long double>::add<long double>
(
const
long
double
,
61
const
FullMatrix<long double>
&);
62
63
64
// do a few functions that currently don't fit the scheme because they have
65
// two template arguments that need to be different (the case of same
66
// arguments is covered by the default copy constructor and copy operator that
67
// is declared separately)
68
69
#define TEMPL_OP_EQ(S1, S2) \
70
template FullMatrix<S1> &FullMatrix<S1>::operator=(const FullMatrix<S2> &)
71
72
TEMPL_OP_EQ(
double
,
float
);
73
TEMPL_OP_EQ(
float
,
double
);
74
75
#ifdef DEAL_II_WITH_COMPLEX_VALUES
76
TEMPL_OP_EQ(std::complex<double>, std::complex<float>);
77
TEMPL_OP_EQ(std::complex<float>, std::complex<double>);
78
TEMPL_OP_EQ(std::complex<double>,
double
);
79
TEMPL_OP_EQ(std::complex<float>,
float
);
80
#endif
81
82
#undef TEMPL_OP_EQ
83
84
DEAL_II_NAMESPACE_CLOSE
FullMatrix
Definition:
dof_accessor.h:33
Generated by
1.8.16