19#include <alien/ref/data/scalar/Matrix.h>
21#include <alien/ref/AlienRefSemantic.h>
22#include <alien/utils/ICopyOnWriteObject.h>
40Matrix::Matrix(
const MatrixDistribution& dist)
42 new MultiMatrixImpl(dist.rowSpace().clone(), dist.colSpace().clone(), dist.clone()))
48Integer nrows, Integer ncols, Integer nrows_local, IMessagePassingMng* parallel_mng)
50 new MultiMatrixImpl(std::make_shared<Space>(nrows), std::make_shared<Space>(ncols),
51 std::make_shared<MatrixDistribution>(
52 MatrixDistribution(nrows, ncols, nrows_local, parallel_mng))))
57Matrix::Matrix(Integer nrows, Integer ncols, IMessagePassingMng* parallel_mng)
58: m_impl(new MultiMatrixImpl(std::make_shared<Space>(nrows),
59 std::make_shared<Space>(ncols),
60 std::make_shared<MatrixDistribution>(MatrixDistribution(nrows, ncols, parallel_mng))))
65Matrix::Matrix(Matrix&& matrix)
66: m_impl(std::move(matrix.m_impl))
76Matrix::operator=(Matrix&& matrix)
78 m_impl = std::move(matrix.m_impl);
92Matrix::distribution()
const
94 return m_impl->distribution();
102 return m_impl->rowSpace();
110 return m_impl->colSpace();
115void Matrix::setUserFeature(String feature)
117 m_impl->setFeature(feature);
122bool Matrix::hasUserFeature(String feature)
const
124 return m_impl->hasFeature(feature);
Interface for algebraic space objects.
Computes a matrix distribution.
const ISpace & colSpace() const
Get col space associated to the matrix.
void visit(ICopyOnWriteMatrix &) const
Visit method.
const ISpace & rowSpace() const
Get row space associated to the matrix.
MultiMatrixImpl * impl()
Get the multimatrix implementation.
Multi matrices representation container.
Implementation of an algebraic space.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --