26#include <arccore/base/FatalErrorException.h>
27#include <arccore/base/TraceInfo.h>
35using namespace Arccore;
58 Integer size =
m_tags.size();
59 for (Integer i = 0; i < size; ++i) {
64 for (
auto gid : indices) {
65 Integer lid = gid - offset;
67 throw FatalErrorException(A_FUNCINFO,
"index defined in multiple field");
73 Integer nb_untagged = 0;
74 for (
auto i : tagged) {
78 m_untagged_part.resize(nb_untagged);
80 Integer taggedsize = tagged.size();
81 for (Integer i = 0; i < taggedsize; ++i) {
83 m_untagged_part[index] = i + offset;
Interface for algebraic space objects.
Computes a matrix distribution.
const ISpace & m_space
The matrix space.
const MatrixDistribution & m_distribution
The matrix distribution.
void create(const Arccore::UniqueArray< Arccore::String > &tags)
Create the tags of the matrix.
Partition(const ISpace &space, const MatrixDistribution &distribution)
Constructor.
Arccore::UniqueArray< Arccore::String > m_tags
The array of tags.
Arccore::String tag(Arccore::Integer i) const
Get the i-th tag.
Arccore::UniqueArray< Arccore::UniqueArray< Arccore::Integer > > m_tagged_parts
The arrays of local ids for each tag.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --