deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
full_matrix.cc
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2007 - 2025 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
14
15#include <deal.II/lac/full_matrix.templates.h>
16
18
19#include "lac/full_matrix.inst"
20
21#ifndef DOXYGEN
22
23// We use FullMatrix<std::complex<T>> for complex eigenvalues so ignore the
24// value of DEAL_II_WITH_COMPLEX_VALUES and always instantiate. As a consequence
25// we cannot use REAL_AND_COMPLEX_SCALARS without getting duplicate
26// instantiations so do float and double here too.
27template class FullMatrix<float>;
28template class FullMatrix<double>;
29template class FullMatrix<std::complex<float>>;
31
32// instantiate for long double manually because we use it in a few places
33// inside the library
34template class FullMatrix<long double>;
35template void
37template void
40 const bool) const;
41template void
44 const bool) const;
45template void
48 const bool) const;
49template void
52 const bool) const;
53template void
55 const Vector<long double> &,
56 bool) const;
57template void
59 const Vector<long double> &,
60 bool) const;
61template void
64
65
66// do a few functions that currently don't fit the scheme because they have
67// two template arguments that need to be different (the case of same
68// arguments is covered by the default copy constructor and copy operator that
69// is declared separately)
70
71# define TEMPL_OP_EQ(S1, S2) \
72 template FullMatrix<S1> &FullMatrix<S1>::operator=(const FullMatrix<S2> &)
73
74TEMPL_OP_EQ(double, float);
75TEMPL_OP_EQ(float, double);
76
77TEMPL_OP_EQ(std::complex<double>, std::complex<float>);
78TEMPL_OP_EQ(std::complex<float>, std::complex<double>);
79TEMPL_OP_EQ(std::complex<double>, double);
80TEMPL_OP_EQ(std::complex<float>, float);
81
82# undef TEMPL_OP_EQ
83
84#endif
85
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39