Skip to content

Commit

Permalink
Move epetra_map to adapter namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
ddemidov committed Sep 5, 2018
1 parent 2025fad commit 6290ff8
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions amgcl/adapter/epetra.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ THE SOFTWARE.
#include <amgcl/backend/interface.hpp>

namespace amgcl {
namespace backend {
namespace adapter {

/// Adapts Epetra_CrsMatrix
class epetra_map {
Expand Down Expand Up @@ -134,45 +134,49 @@ inline epetra_map map(const Epetra_CrsMatrix &A) {
return epetra_map(A);
}

} // namespace adapter

//---------------------------------------------------------------------------
// Specialization of matrix interface
//---------------------------------------------------------------------------
namespace backend {

template <>
struct value_type < epetra_map > {
struct value_type < adapter::epetra_map > {
typedef double type;
};

template <>
struct rows_impl < epetra_map > {
static size_t get(const epetra_map &A) {
struct rows_impl < adapter::epetra_map > {
static size_t get(const adapter::epetra_map &A) {
return A.rows();
}
};

template <>
struct cols_impl < epetra_map > {
static size_t get(const epetra_map &A) {
struct cols_impl < adapter::epetra_map > {
static size_t get(const adapter::epetra_map &A) {
return A.cols();
}
};

template <>
struct nonzeros_impl < epetra_map > {
static size_t get(const epetra_map &A) {
struct nonzeros_impl < adapter::epetra_map > {
static size_t get(const adapter::epetra_map &A) {
return A.nonzeros();
}
};

template <>
struct row_iterator < epetra_map > {
typedef epetra_map::row_iterator type;
struct row_iterator < adapter::epetra_map > {
typedef adapter::epetra_map::row_iterator type;
};

template <>
struct row_begin_impl< epetra_map >
struct row_begin_impl< adapter::epetra_map >
{
static typename row_iterator< epetra_map >::type
get(const epetra_map &A, size_t row) {
static typename row_iterator< adapter::epetra_map >::type
get(const adapter::epetra_map &A, size_t row) {
return A.row_begin(row);
}
};
Expand Down

0 comments on commit 6290ff8

Please sign in to comment.