22#include "rheolef/linalg.h"
32 resize (
d.ownership(),
d.ownership(),
d.ownership().size());
34 for (
size_type i = 0, n =
d.size(); i < n; i++) {
41#ifdef _RHEOLEF_HAVE_MPI
47 base::build_from_diag (
d);
48 _ext.resize (
d.ownership(),
d.ownership(), 0);
49 _jext2dis_j.resize(0);
50 _dis_nnz =
d.dis_size();
51 _scatter_initialized =
false;
54template<
class T,
class M>
59 a.data().build_from_diag (
d.data());
66#define _RHEOLEF_instanciation_a(T,M,A) \
67template void csr_rep<T,M>::build_from_diag (const disarray_rep<T,M,A>&);
69#define _RHEOLEF_instanciation(T,M) \
70template csr<T,M> diag (const vec<T,M>&); \
71_RHEOLEF_instanciation_a(T,M,std::allocator<T>)
74#ifdef _RHEOLEF_HAVE_MPI
#define _RHEOLEF_instanciation(T, M, A)
see the Float page for the full documentation
vector_of_iterator< pair_type >::iterator iterator
std::vector< T >::size_type size_type
vector_of_iterator< pair_type >::value_type data_iterator
see the csr page for the full documentation
see the vec page for the full documentation
This file is part of Rheolef.
csr< T, M > diag(const vec< T, M > &d)