Reference documentation for deal.II version GIT relicensing-233-g802318d791 2024-03-28 20:20:02+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: LGPL-2.1-or-later
4// Copyright (C) 2016 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
16#include <deal.II/lac/la_parallel_vector.templates.h>
17
19
20#include "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#define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
32 template Vector<S1, ::MemorySpace::Host> & \
33 Vector<S1, ::MemorySpace::Host>::operator= \
34 <S2>(const Vector<S2, ::MemorySpace::Host> &)
35
36 TEMPL_COPY_CONSTRUCTOR(double, float);
37 TEMPL_COPY_CONSTRUCTOR(float, double);
38#ifdef DEAL_II_WITH_COMPLEX_VALUES
39 TEMPL_COPY_CONSTRUCTOR(std::complex<double>, std::complex<float>);
40 TEMPL_COPY_CONSTRUCTOR(std::complex<float>, std::complex<double>);
41#endif
42
43#undef TEMPL_COPY_CONSTRUCTOR
44
47
48#ifndef DOXYGEN
49 template void
54 template void
59
60 template void
65 template void
70
71 template void
76 template void
81
82 template void
85 const bool);
86 template void
89 const bool);
90#endif
91 } // namespace distributed
92} // namespace LinearAlgebra
93
94
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503
#define TEMPL_COPY_CONSTRUCTOR(S1, S2)