<h3>Specific improvements</h3>
<ol>
+ <li> Fixed: Fix a bug where the SparsityPattern could not have more than 4
+ billions entries when using 32bit indices.
+ <br>
+ (Bruno Turcksin, 2016/05/22)
+ </li>
+
<li> New: Added PArpackSolver::reinit() when dealing with BlockVectors.
<br>
(Alberto Sartori, 2016/05/19)
* returns the number of entries in the sparsity pattern; if any of the
* entries should happen to be zero, it is counted anyway.
*/
- size_type n_nonzero_elements () const;
+ std::size_t n_nonzero_elements () const;
/**
* Return the number of actually nonzero elements of this matrix. It is
* count all entries of the sparsity pattern but only the ones that are
* nonzero (or whose absolute value is greater than threshold).
*/
- size_type n_actually_nonzero_elements (const double threshold = 0.) const;
+ std::size_t n_actually_nonzero_elements (const double threshold = 0.) const;
/**
* Return a (constant) reference to the underlying sparsity pattern of this
*/
template <typename number2>
void set (const std::vector<size_type> &indices,
- const FullMatrix<number2> &full_matrix,
- const bool elide_zero_values = false);
+ const FullMatrix<number2> &full_matrix,
+ const bool elide_zero_values = false);
/**
* Same function as before, but now including the possibility to use
* @dealiiOperationIsMultithreaded
*/
template <class OutVector, class InVector>
- void vmult (OutVector &dst,
+ void vmult (OutVector &dst,
const InVector &src) const;
/**
* Source and destination must not be the same vector.
*/
template <class OutVector, class InVector>
- void Tvmult (OutVector &dst,
+ void Tvmult (OutVector &dst,
const InVector &src) const;
/**
* @dealiiOperationIsMultithreaded
*/
template <class OutVector, class InVector>
- void vmult_add (OutVector &dst,
+ void vmult_add (OutVector &dst,
const InVector &src) const;
/**
* Source and destination must not be the same vector.
*/
template <class OutVector, class InVector>
- void Tvmult_add (OutVector &dst,
+ void Tvmult_add (OutVector &dst,
const InVector &src) const;
/**
// operator=. The grain size is chosen to reflect the number of rows in
// minimum_parallel_grain_size, weighted by the number of nonzero entries
// per row on average.
- const size_type matrix_size = cols->n_nonzero_elements();
+ const std::size_t matrix_size = cols->n_nonzero_elements();
const size_type grain_size =
internal::SparseMatrix::minimum_parallel_grain_size *
(cols->n_nonzero_elements()+m()) / m();
template <typename number>
-typename SparseMatrix<number>::size_type
+std::size_t
SparseMatrix<number>::n_nonzero_elements () const
{
Assert (cols != 0, ExcNotInitialized());
template <typename number>
-typename SparseMatrix<number>::size_type
+std::size_t
SparseMatrix<number>::n_actually_nonzero_elements (const double threshold) const
{
Assert (cols != 0, ExcNotInitialized());
Assert (threshold >= 0, ExcMessage ("Negative threshold!"));
size_type nnz = 0;
- const size_type nnz_alloc = n_nonzero_elements();
+ const std::size_t nnz_alloc = n_nonzero_elements();
for (size_type i=0; i<nnz_alloc; ++i)
if (std::abs(val[i]) > threshold)
++nnz;
* This function may only be called if the matrix struct is compressed. It
* does not make too much sense otherwise anyway.
*/
- size_type n_nonzero_elements () const;
+ std::size_t n_nonzero_elements () const;
/**
* Return whether the structure is compressed or not.
* of this function is <i>log(N)</i>.
*/
std::pair<size_type, size_type>
- matrix_position (const size_type global_index) const;
+ matrix_position (const std::size_t global_index) const;
/**
* Check if a value at a certain position may be non-zero.
* for the #rowstart array, i.e. it may be larger than the actually used
* part of the array.
*/
- size_type max_vec_len;
+ std::size_t max_vec_len;
/**
* Maximum number of elements per row. This is set to the value given to the
inline
-SparsityPattern::size_type
+std::size_t
SparsityPattern::n_nonzero_elements () const
{
Assert ((rowstart!=0) && (colnums!=0), ExcEmptyObject());
std::pair<SparsityPattern::size_type, SparsityPattern::size_type>
-SparsityPattern::matrix_position (const size_type global_index) const
+SparsityPattern::matrix_position (const std::size_t global_index) const
{
Assert (compressed == true, ExcNotCompressed());
Assert (global_index < n_nonzero_elements(),