deal.II version GIT relicensing-6960-g70e9c5b7be 2026-10-22 20:10: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
la_parallel_vector.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) 2016 - 2026 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#include <deal.II/lac/la_parallel_vector.templates.h>
15
16#include <complex>
17
19
20#include "lac/la_parallel_vector.inst"
21
22// do a few functions that currently don't fit the scheme because they have
23// two template arguments that need to be different (the case of same
24// arguments is covered by the default copy constructor and copy operator that
25// is declared separately)
26
27namespace LinearAlgebra
28{
29 namespace distributed
30 {
31#ifndef DOXYGEN
32
33# define TEMPL_COPY_CONSTRUCTOR(S1, S2, MemorySpaceType) \
34 template Vector<S1, ::MemorySpace::MemorySpaceType> & \
35 Vector<S1, ::MemorySpace::MemorySpaceType>::operator= \
36 <S2>(const Vector<S2, ::MemorySpace::MemorySpaceType> &)
37
38 TEMPL_COPY_CONSTRUCTOR(double, float, Host);
39 TEMPL_COPY_CONSTRUCTOR(float, double, Host);
40# ifdef DEAL_II_WITH_COMPLEX_VALUES
41 TEMPL_COPY_CONSTRUCTOR(std::complex<double>, std::complex<float>, Host);
42 TEMPL_COPY_CONSTRUCTOR(std::complex<float>, std::complex<double>, Host);
43# endif
44
45 TEMPL_COPY_CONSTRUCTOR(double, float, Default);
46 TEMPL_COPY_CONSTRUCTOR(float, double, Default);
47
48# undef TEMPL_COPY_CONSTRUCTOR
49
52
53 template void
58 template void
63
64 template void
69 template void
74
75 template void
80 template void
85
86 template void
89 const bool);
90 template void
93 const bool);
94
95 template float
98 template double
101
102 template void
105 template void
109
110 template void
114 template void
117#endif
118 } // namespace distributed
119} // namespace LinearAlgebra
120
121
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39