Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
IMatrixImpl.cc
Go to the documentation of this file.
1/*
2 * Copyright 2020 IFPEN-CEA
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * SPDX-License-Identifier: Apache-2.0
17 */
18
23
24#include "IMatrixImpl.h"
25
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32namespace Alien
33{
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
37
39: Timestamp(multi_impl)
40, m_multi_impl(multi_impl)
42{}
43
44/*---------------------------------------------------------------------------*/
45/*---------------------------------------------------------------------------*/
46
47const ISpace&
49{
50 return m_multi_impl->rowSpace();
51}
52
53/*---------------------------------------------------------------------------*/
54/*---------------------------------------------------------------------------*/
55
56const ISpace&
58{
59 return m_multi_impl->colSpace();
60}
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
67{
68 return m_multi_impl->distribution();
69}
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74const Block*
76{
77 return m_multi_impl ? m_multi_impl->block() : nullptr;
78}
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83const VBlock*
85{
86 return m_multi_impl ? m_multi_impl->vblock() : nullptr;
87}
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91
92const VBlock*
94{
95 return m_multi_impl ? m_multi_impl->rowBlock() : nullptr;
96}
97
98/*---------------------------------------------------------------------------*/
99/*---------------------------------------------------------------------------*/
100
101const VBlock*
103{
104 return m_multi_impl ? m_multi_impl->colBlock() : nullptr;
105}
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110} // namespace Alien
111
112/*---------------------------------------------------------------------------*/
113/*---------------------------------------------------------------------------*/
Block.h.
IMatrixImpl.h.
MultiMatrixImpl.h.
Block elements for block matrices.
Definition Block.h:45
virtual const VBlock * vblock() const
Get block datas of the matrix.
virtual const MatrixDistribution & distribution() const
Get the distribution of the matrix.
virtual const ISpace & rowSpace() const
Get the row space associated to the matrix \ returns The row space.
virtual const VBlock * rowBlock() const
Get row block datas of the matrix.
virtual BackEndId backend() const
Definition IMatrixImpl.h:94
BackEndId m_backend
Backend id.
virtual const VBlock * colBlock() const
Get col block datas of the matrix.
const MultiMatrixImpl * m_multi_impl
Pointer on matrices implementation.
virtual const Block * block() const
Get block datas of the matrix.
virtual const ISpace & colSpace() const
Get the row space associated to the matrix \ returns The row space.
IMatrixImpl(const MultiMatrixImpl *multi_impl, BackEndId backend="")
Constructor.
Interface for algebraic space objects.
Definition ISpace.h:44
Computes a matrix distribution.
Multi matrices representation container.
Variable size block elements for block matrices.
Definition VBlock.h:46
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17