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
48 _ext.resize (
d.ownership(),
d.ownership(), 0);
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)
csr_rep< T, sequential > _ext
bool _scatter_initialized
std::vector< size_type > _jext2dis_j
void resize(size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
void build_from_diag(const disarray_rep< T, sequential, A > &d)
const_iterator begin() const
vector_of_iterator< pair_type >::iterator iterator
std::vector< T >::size_type size_type
vector_of_iterator< pair_type >::value_type data_iterator
csr_rep(size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
see the csr page for the full documentation
see the vec page for the full documentation
double Float
see the Float page for the full documentation
This file is part of Rheolef.
csr< T, M > diag(const vec< T, M > &d)