***********************************************/
#cmakedefine DEAL_II_WITH_64BIT_INDICES
-#ifdef DEAL_II_WITH_64BIT_INDICES
-# define DEAL_II_USE_LARGE_INDEX_TYPE
-#endif
/**************************************
*/
const unsigned int artificial_subdomain_id DEAL_II_DEPRECATED = static_cast<subdomain_id>(-2);
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
/**
* The type used for global indices of
* degrees of freedom. While in sequential
{
namespace types
{
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
/**
* Declare type of integer used in the Epetra package of Trilinos.
*/
DEAL_II_NAMESPACE_CLOSE
-#ifdef DEAL_II_USE_PETSC
+#ifdef DEAL_II_WITH_PETSC
#include <deal.II/lac/block_sparsity_pattern.h>
#include <deal.II/lac/petsc_vector.h>
DEAL_II_NAMESPACE_CLOSE
-#endif // DEAL_II_USE_PETSC
+#endif // DEAL_II_WITH_PETSC
-#ifdef DEAL_II_USE_TRILINOS
+#ifdef DEAL_II_WITH_TRILINOS
#include <deal.II/lac/trilinos_vector.h>
#include <deal.II/lac/trilinos_block_vector.h>
DEAL_II_NAMESPACE_CLOSE
-#endif // DEAL_II_USE_TRILINOS
+#endif // DEAL_II_WITH_TRILINOS
SparseMatrix::in_local_range (const size_type index) const
{
TrilinosWrappers::types::int_type begin, end;
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
begin = matrix->RowMap().MinMyGID();
end = matrix->RowMap().MaxMyGID()+1;
#else
SparseMatrix::size_type
SparseMatrix::m () const
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
return matrix->NumGlobalRows();
#else
return matrix->NumGlobalRows64();
SparseMatrix::size_type
SparseMatrix::n () const
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
return matrix->NumGlobalCols();
#else
return matrix->NumGlobalCols64();
SparseMatrix::local_range () const
{
size_type begin, end;
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
begin = matrix->RowMap().MinMyGID();
end = matrix->RowMap().MaxMyGID()+1;
#else
SparseMatrix::size_type
SparseMatrix::n_nonzero_elements () const
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
return matrix->NumGlobalNonzeros();
#else
return matrix->NumGlobalNonzeros64();
SparsityPattern::in_local_range (const size_type index) const
{
TrilinosWrappers::types::int_type begin, end;
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
begin = graph->RowMap().MinMyGID();
end = graph->RowMap().MaxMyGID()+1;
#else
namespace
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
// define a helper function that queries the global ID of local ID of
// an Epetra_BlockMap object by calling either the 32- or 64-bit
// function necessary.
else if (vector->Map().NumMyElements() > 0)
{
const size_type n_indices = vector->Map().NumMyElements();
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
unsigned int *vector_indices = (unsigned int *)vector->Map().MyGlobalElements();
#else
size_type *vector_indices = (size_type *)vector->Map().MyGlobalElements64();
VectorBase::size_type
VectorBase::size () const
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
return (size_type) (vector->Map().MaxAllGID() + 1 - vector->Map().MinAllGID());
#else
return (size_type) (vector->Map().MaxAllGID64() + 1 - vector->Map().MinAllGID64());
std::pair<VectorBase::size_type, VectorBase::size_type>
VectorBase::local_range () const
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
const TrilinosWrappers::types::int_type begin = vector->Map().MinMyGID();
const TrilinosWrappers::types::int_type end = vector->Map().MaxMyGID()+1;
#else
const size_type sz = size();
char buf[16];
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
std::sprintf(buf, "%llu", sz);
#else
std::sprintf(buf, "%u", sz);
#endif
// special version for Trilinos
-#ifdef DEAL_II_USE_TRILINOS
+#ifdef DEAL_II_WITH_TRILINOS
template <int dim, int spacedim>
void back_interpolate (const DoFHandler<dim,spacedim> &dof1,
const ConstraintMatrix &constraints1,
}
// special version for Trilinos
-#ifdef DEAL_II_USE_TRILINOS
+#ifdef DEAL_II_WITH_TRILINOS
template <int dim, int spacedim>
void interpolation_difference (const DoFHandler<dim,spacedim> &dof1,
const ConstraintMatrix &constraints1,
// store for each line of the matrix its new line number after
// compression. If the shift is -1, this line will be condensed away
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
std::vector<int> new_line;
#else
std::vector<long long int> new_line;
// by calling either the 32- or 64-bit function necessary, and returns the
// result in the correct data type so that we can use it in calling other
// Epetra member functions that are overloaded by index type
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
int n_global_elements (const Epetra_BlockMap &map)
{
return map.NumGlobalElements();
{
namespace
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
int global_length (const Epetra_MultiVector &vector)
{
return vector.GlobalLength();
{
namespace
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
// define a helper function that queries the size of an Epetra_Map object
// by calling either the 32- or 64-bit function necessary, and returns the
// result in the correct data type so that we can use it in calling other
const VectorBase &V,
const bool transpose_left)
{
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
Assert(false,ExcNotImplemented())
#endif
const bool use_vector = (V.size() == inputright.m() ? true : false);
inputleft.trilinos_sparsity_pattern().ExtractMyRowView(i, num_entries,
indices);
Assert (num_entries >= 0, ExcInternalError());
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
const size_type GID = inputleft.row_partitioner().GID(i);
for (TrilinosWrappers::types::int_type j=0; j<num_entries; ++j)
sparsity_transposed.add (inputleft.col_partitioner().GID(indices[j]),
inputleft.trilinos_matrix().ExtractMyRowView(i, num_entries,
values, indices);
Assert (num_entries >= 0, ExcInternalError());
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
const size_type GID = inputleft.row_partitioner().GID(i);
for (TrilinosWrappers::types::int_type j=0; j<num_entries; ++j)
transposed_mat.set (inputleft.col_partitioner().GID(indices[j]),
const SparseMatrix &B,
const VectorBase &V) const
{
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
Assert(false,ExcNotImplemented())
#endif
internals::perform_mmult (*this, B, C, V, false);
const SparseMatrix &B,
const VectorBase &V) const
{
-#ifdef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifdef DEAL_II_WITH_64BIT_INDICES
Assert(false,ExcNotImplemented())
#endif
internals::perform_mmult (*this, B, C, V, true);
// by calling either the 32- or 64-bit function necessary, and returns the
// result in the correct data type so that we can use it in calling other
// Epetra member functions that are overloaded by index type
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
int n_global_elements (const Epetra_BlockMap &map)
{
return map.NumGlobalElements();
{
namespace
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
// define a helper function that queries the size of an Epetra_BlockMap object
// by calling either the 32- or 64-bit function necessary, and returns the
// result in the correct data type so that we can use it in calling other
{
namespace
{
-#ifndef DEAL_II_USE_LARGE_INDEX_TYPE
+#ifndef DEAL_II_WITH_64BIT_INDICES
// define a helper function that queries the global vector length of an
// Epetra_FEVector object by calling either the 32- or 64-bit
// function necessary.