62 class ALIEN_EXPORT ProfiledMatrixBuilder
65 using ResetFlag = ProfiledMatrixOptions::ResetFlag;
71 ProfiledMatrixBuilder(
IMatrix& matrix, ResetFlag reset_values);
73 virtual ~ProfiledMatrixBuilder();
75 ProfiledMatrixBuilder(
const ProfiledMatrixBuilder&) =
delete;
76 ProfiledMatrixBuilder(ProfiledMatrixBuilder&&) =
delete;
77 ProfiledMatrixBuilder& operator=(
const ProfiledMatrixBuilder&) =
delete;
78 ProfiledMatrixBuilder& operator=(ProfiledMatrixBuilder&&) =
delete;
81 inline MatrixElement operator()(
const Integer iIndex,
const Integer jIndex)
83 return MatrixElement(iIndex, jIndex, *
this);
86 Arccore::Real getData(Arccore::Integer iIndex, Arccore::Integer jIndex)
const;
88 void addData(Arccore::Integer iIndex, Arccore::Integer jIndex, Arccore::Real value);
90 void addData(Arccore::Integer iIndex, Arccore::Real factor,
91 Arccore::ConstArrayView<Arccore::Integer> jIndexes,
92 Arccore::ConstArrayView<Arccore::Real> jValues);
94 void setData(Arccore::Integer iIndex, Arccore::Integer jIndex, Arccore::Real value);
96 void setData(Arccore::Integer iIndex, Arccore::Real factor,
97 Arccore::ConstArrayView<Arccore::Integer> jIndexes,
98 Arccore::ConstArrayView<Arccore::Real> jValues);
103 bool isLocal(Integer jIndex)
const
105 return (jIndex >= m_local_offset) && (jIndex < m_next_offset);
108 void _startTimer() {}
115 Integer m_local_offset;
116 Integer m_local_size;
117 Integer m_next_offset;
118 ConstArrayView<Integer> m_row_starts;
119 ConstArrayView<Integer> m_cols;
120 ConstArrayView<Integer> m_local_row_size;
121 ArrayView<Real> m_values;