45 #ifndef _ZOLTAN2_ALGSPECTRAL_HPP_
46 #define _ZOLTAN2_ALGSPECTRAL_HPP_
61 template <
typename Adapter>
70 const RCP<Teuchos::ParameterList> &pl,
71 const RCP<
const Teuchos::Comm<int> > &comm
74 #ifndef INCLUDE_ZOLTAN2_EXPERIMENTAL
77 "experimental software "
78 "while it is being developed and tested.")
80 #else //INCLUDE_ZOLTAN2_EXPERIMENTAL
82 typedef typename Adapter::lno_t lno_t;
83 typedef typename Adapter::gno_t gno_t;
84 typedef typename Adapter::offset_t offset_t;
85 typedef typename Adapter::scalar_t scalar_t;
92 bool localOrder =
true;
94 const size_t nVtx = model->getLocalNumVertices();
95 lno_t *perm = solution->getPermutationView();
96 for (lno_t i=0; i<nVtx; i++){
101 ArrayView<const gno_t> edgeIds;
102 ArrayView<const offset_t> offsets;
103 ArrayView<StridedData<lno_t, scalar_t> > wgts;
105 model->getEdgeList(edgeIds, offsets, wgts);
119 solution->setHavePerm(
true);
121 #endif // INCLUDE_ZOLTAN2_EXPERIMENTAL
Defines the OrderingSolution class.
int AlgSpectral(const RCP< GraphModel< Adapter > > &model, const RCP< LocalOrderingSolution< typename Adapter::lno_t > > &solution, const RCP< Teuchos::ParameterList > &pl, const RCP< const Teuchos::Comm< int > > &comm)
#define Z2_THROW_EXPERIMENTAL(mystr)
Throw an error when experimental code is requested but not compiled.
GraphModel defines the interface required for graph models.
Defines the GraphModel interface.