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
source
lac
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
13
#include <
deal.II/lac/la_parallel_vector.h
>
14
#include <deal.II/lac/la_parallel_vector.templates.h>
15
16
#include <complex>
17
18
DEAL_II_NAMESPACE_OPEN
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
27
namespace
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
50
template
class
Vector<float, ::MemorySpace::Default>
;
51
template
class
Vector<double, ::MemorySpace::Default>
;
52
53
template
void
54
Vector<float, ::MemorySpace::Host>::import_elements
<
55
::MemorySpace::Default
>(
56
const
Vector<float, ::MemorySpace::Default>
&,
57
VectorOperation::values
);
58
template
void
59
Vector<double, ::MemorySpace::Host>::import_elements
<
60
::MemorySpace::Default
>(
61
const
Vector<double, ::MemorySpace::Default>
&,
62
VectorOperation::values
);
63
64
template
void
65
Vector<float, ::MemorySpace::Default>::import_elements
<
66
::MemorySpace::Host
>(
67
const
Vector<float, ::MemorySpace::Host>
&,
68
VectorOperation::values
);
69
template
void
70
Vector<double, ::MemorySpace::Default>::import_elements
<
71
::MemorySpace::Host
>(
72
const
Vector<double, ::MemorySpace::Host>
&,
73
VectorOperation::values
);
74
75
template
void
76
Vector<float, ::MemorySpace::Default>::import_elements
<
77
::MemorySpace::Default
>(
78
const
Vector<float, ::MemorySpace::Default>
&,
79
VectorOperation::values
);
80
template
void
81
Vector<double, ::MemorySpace::Default>::import_elements
<
82
::MemorySpace::Default
>(
83
const
Vector<double, ::MemorySpace::Default>
&,
84
VectorOperation::values
);
85
86
template
void
87
Vector<float, ::MemorySpace::Default>::reinit<float>
(
88
const
Vector<float, ::MemorySpace::Default>
&,
89
const
bool
);
90
template
void
91
Vector<double, ::MemorySpace::Default>::reinit<double>
(
92
const
Vector<double, ::MemorySpace::Default>
&,
93
const
bool
);
94
95
template
float
96
Vector<float, ::MemorySpace::Default>::inner_product_local<float>
(
97
const
Vector<float, ::MemorySpace::Default>
&)
const
;
98
template
double
99
Vector<double, ::MemorySpace::Default>::inner_product_local<double>
(
100
const
Vector<double, ::MemorySpace::Default>
&)
const
;
101
102
template
void
103
Vector<float, ::MemorySpace::Default>::copy_locally_owned_data_from
<
104
float
>(
const
Vector<float, ::MemorySpace::Default>
&);
105
template
void
106
Vector<double, ::MemorySpace::Default>::
107
copy_locally_owned_data_from<double>
(
108
const
Vector<double, ::MemorySpace::Default>
&);
109
110
template
void
111
Vector<double, ::MemorySpace::Default>::
112
copy_locally_owned_data_from<float>
(
113
const
Vector<float, ::MemorySpace::Default>
&);
114
template
void
115
Vector<float, ::MemorySpace::Default>::copy_locally_owned_data_from
<
116
double
>(
const
Vector<double, ::MemorySpace::Default>
&);
117
#endif
118
}
// namespace distributed
119
}
// namespace LinearAlgebra
120
121
122
DEAL_II_NAMESPACE_CLOSE
Vector
Definition
vector.h:97
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:38
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:39
la_parallel_vector.h
LinearAlgebra
Definition
template_constraints.h:605
MemorySpace::Default
Definition
memory_space.h:42
MemorySpace::Host
Definition
memory_space.h:31
VectorOperation::values
values
Definition
vector_operation.h:39
Generated by
1.9.8