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::scalar_t scalar_t;
91 bool localOrder =
true;
93 const size_t nVtx = model->getLocalNumVertices();
94 lno_t *perm = solution->getPermutationView();
95 for (lno_t i=0; i<nVtx; i++){
100 ArrayView<const gno_t> edgeIds;
101 ArrayView<const lno_t> offsets;
102 ArrayView<StridedData<lno_t, scalar_t> > wgts;
104 model->getEdgeList(edgeIds, offsets, wgts);
118 solution->setHavePerm(
true);
120 #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.