Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
NullMatrix.cc
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
19#include "NullMatrix.h"
20
22#include <alien/utils/ICopyOnWriteObject.h>
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Alien
28{
29
30using namespace Arccore;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35NullMatrix::NullMatrix()
36: m_space(0)
37{}
38
39/*---------------------------------------------------------------------------*/
40
41void NullMatrix::visit(ICopyOnWriteMatrix& m ALIEN_UNUSED_PARAM) const
42{
43 throw FatalErrorException("NullMatrix can't be used in an expression");
44}
45
46/*---------------------------------------------------------------------------*/
47
49NullMatrix::distribution() const
50{
51 return m_distribution;
52}
53
54/*---------------------------------------------------------------------------*/
55
56const Space&
58{
59 return m_space;
60}
61
62/*---------------------------------------------------------------------------*/
63
64const Space&
66{
67 return m_space;
68}
69
70/*---------------------------------------------------------------------------*/
71
74{
75 // throw FatalErrorException("NullMatrix impl can't be used");
76 return nullptr;
77}
78
79/*---------------------------------------------------------------------------*/
80
81const MultiMatrixImpl*
83{
84 // throw FatalErrorException("NullMatrix impl can't be used");
85 return nullptr;
86}
87
88/*---------------------------------------------------------------------------*/
89/*---------------------------------------------------------------------------*/
90
91} // namespace Alien
92
93/*---------------------------------------------------------------------------*/
94/*---------------------------------------------------------------------------*/
MultiMatrixImpl.h.
Computes a matrix distribution.
Multi matrices representation container.
const Space & rowSpace() const
Get row space associated to the matrix.
Definition NullMatrix.cc:57
const Space & colSpace() const
Get col space associated to the matrix.
Definition NullMatrix.cc:65
MultiMatrixImpl * impl()
Get the multimatrix implementation.
Definition NullMatrix.cc:73
void visit(ICopyOnWriteMatrix &) const
Visit method.
Definition NullMatrix.cc:41
Implementation of an algebraic space.
Definition Space.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17