Loading [MathJax]/extensions/TeX/newcommand.js
deal.II version GIT relicensing-2836-g362046b457 2025-03-13 15:40:00+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\}}
Toggle main menu visibility
Main Page
Tutorial
Code gallery
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
v
Enumerations
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
v
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
b
c
d
e
f
g
i
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Related Symbols
:
a
b
c
d
f
g
i
l
m
n
o
p
r
s
t
u
v
Related Pages
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
Variables
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
Typedefs
Enumerations
Enumerator
m
u
Macros
a
b
d
e
f
h
i
m
p
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
source
lac
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
15
#include <
deal.II/lac/la_parallel_vector.h
>
16
#include <deal.II/lac/la_parallel_vector.templates.h>
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
#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> &)
31
#define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
…
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
45
template
class
Vector<float, ::MemorySpace::Default>
;
46
template
class
Vector<double, ::MemorySpace::Default>
;
47
48
#ifndef DOXYGEN
49
template
void
50
Vector<float, ::MemorySpace::Host>::import_elements
<
51
::MemorySpace::Default
>(
52
const
Vector<float, ::MemorySpace::Default>
&,
53
VectorOperation::values
);
54
template
void
55
Vector<double, ::MemorySpace::Host>::import_elements
<
56
::MemorySpace::Default
>(
57
const
Vector<double, ::MemorySpace::Default>
&,
58
VectorOperation::values
);
59
60
template
void
61
Vector<float, ::MemorySpace::Default>::import_elements
<
62
::MemorySpace::Host
>(
63
const
Vector<float, ::MemorySpace::Host>
&,
64
VectorOperation::values
);
65
template
void
66
Vector<double, ::MemorySpace::Default>::import_elements
<
67
::MemorySpace::Host
>(
68
const
Vector<double, ::MemorySpace::Host>
&,
69
VectorOperation::values
);
70
71
template
void
72
Vector<float, ::MemorySpace::Default>::import_elements
<
73
::MemorySpace::Default
>(
74
const
Vector<float, ::MemorySpace::Default>
&,
75
VectorOperation::values
);
76
template
void
77
Vector<double, ::MemorySpace::Default>::import_elements
<
78
::MemorySpace::Default
>(
79
const
Vector<double, ::MemorySpace::Default>
&,
80
VectorOperation::values
);
81
82
template
void
83
Vector<float, ::MemorySpace::Default>::reinit<float>
(
84
const
Vector<float, ::MemorySpace::Default>
&,
85
const
bool
);
86
template
void
87
Vector<double, ::MemorySpace::Default>::reinit<double>
(
88
const
Vector<double, ::MemorySpace::Default>
&,
89
const
bool
);
90
#endif
91
}
// namespace distributed
92
}
// namespace LinearAlgebra
93
94
95
DEAL_II_NAMESPACE_CLOSE
LinearAlgebra::distributed::Vector
Definition
la_parallel_vector.h:257
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:40
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:41
TEMPL_COPY_CONSTRUCTOR
#define TEMPL_COPY_CONSTRUCTOR(S1, S2)
Definition
la_parallel_block_vector.cc:33
la_parallel_vector.h
LinearAlgebra
Definition
template_constraints.h:616
MemorySpace::Default
Definition
memory_space.h:44
MemorySpace::Host
Definition
memory_space.h:33
VectorOperation::values
values
Definition
vector_operation.h:41
Generated by
1.9.8