Reference documentation for deal.II version 8.5.1
source
lac
full_matrix.cc
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 1999 - 2016 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 at
12
// the top level of the deal.II distribution.
13
//
14
// ---------------------------------------------------------------------
15
16
#include <deal.II/base/logstream.h>
17
#include <deal.II/lac/full_matrix.templates.h>
18
19
DEAL_II_NAMESPACE_OPEN
20
21
#include "full_matrix.inst"
22
23
// instantiate for long double manually because we use it in a few places
24
// inside the library
25
template
class
FullMatrix<long double>
;
26
template
void
FullMatrix<long double>::invert
<
long
double
> (
const
FullMatrix<long double>
&);
27
template
void
FullMatrix<long double>::mmult
<
long
double
> (
FullMatrix<long double>
&,
const
FullMatrix<long double>
&,
const
bool)
const
;
28
template
void
FullMatrix<long double>::Tmmult
<
long
double
> (
FullMatrix<long double>
&,
const
FullMatrix<long double>
&,
const
bool)
const
;
29
template
void
FullMatrix<long double>::mTmult
<
long
double
> (
FullMatrix<long double>
&,
const
FullMatrix<long double>
&,
const
bool)
const
;
30
template
void
FullMatrix<long double>::TmTmult
<
long
double
> (
FullMatrix<long double>
&,
const
FullMatrix<long double>
&,
const
bool)
const
;
31
template
void
FullMatrix<long double>::vmult
<
long
double
>(
Vector<long double>
&,
const
Vector<long double>
&, bool)
const
;
32
template
void
FullMatrix<long double>::Tvmult
<
long
double
>(
Vector<long double>
&,
const
Vector<long double>
&, bool)
const
;
33
template
void
FullMatrix<long double>::add
<
long
double
> (
const
long
double,
const
FullMatrix<long double>
&);
34
35
// This is needed if PETSc was compiled with complex, though, it may
36
// be used elsewhere too.
37
template
void ::FullMatrix<double>::vmult<std::complex<double> >(
::Vector<std::complex<double>
> &,
::Vector<std::complex<double>
>
const
&, bool)
const
;
38
39
// do a few functions that currently don't fit the scheme because they have
40
// two template arguments that need to be different (the case of same
41
// arguments is covered by the default copy constructor and copy operator that
42
// is declared separately)
43
44
#define TEMPL_OP_EQ(S1,S2) \
45
template FullMatrix<S1>& FullMatrix<S1>::operator = \
46
(const FullMatrix<S2>&)
47
48
TEMPL_OP_EQ(
double
,
float
);
49
TEMPL_OP_EQ(
float
,
double
);
50
51
TEMPL_OP_EQ(std::complex<double>,std::complex<float>);
52
TEMPL_OP_EQ(std::complex<float>,std::complex<double>);
53
54
#undef TEMPL_OP_EQ
55
56
DEAL_II_NAMESPACE_CLOSE
Vector
Definition:
function.h:34
FullMatrix
Definition:
dof_accessor.h:29
Generated by
1.8.14