87 typedef typename MV_in::scalar_type InScalar;
88 typedef typename MV_out::scalar_type OutScalar;
89 typedef typename MV_in::local_ordinal_type LO;
90 typedef typename MV_in::global_ordinal_type GO;
91 typedef typename MV_in::node_type NO;
99 const Teuchos::ArrayView<const LO>
perm)
const
101 using Teuchos::ArrayRCP;
102 const size_t numRows =
X_out.getLocalLength ();
103 const size_t numVecs =
X_in.getNumVectors ();
105 for (
size_t j = 0;
j < numVecs; ++
j) {
108 for (
size_t i = 0;
i < numRows; ++
i) {
123 const Teuchos::ArrayView<const LO>
perm,
126 using Teuchos::ArrayRCP;
128 const size_t numVecs =
X_in.getNumVectors ();
130 for (
size_t j = 0;
j < numVecs; ++
j) {
135 for (LO
k = 0;
k < blockSize;
k++) {
146 const Teuchos::ArrayView<const LO>
perm)
const
148 using Teuchos::ArrayRCP;
149 const size_t numRows =
X_out.getLocalLength();
150 const size_t numVecs =
X_in.getNumVectors();
152 for (
size_t j = 0;
j < numVecs; ++
j) {
155 for (
size_t i = 0;
i < numRows; ++
i) {
167 const Teuchos::ArrayView<const LO>
perm,
170 using Teuchos::ArrayRCP;
172 const size_t numVecs =
X_in.getNumVectors ();
174 for (
size_t j = 0;
j < numVecs; ++
j) {
179 for (LO
k = 0;
k < blockSize;
k++) {
190 template<
typename InView,
typename OutView>
193 const Teuchos::ArrayView<const LO>
perm)
const
197 for(
size_t j = 0;
j <
X_out.extent(1); ++
j) {
198 for(
size_t i = 0;
i <
X_out.extent(0); ++
i) {
205 template<
typename InView,
typename OutView>
208 const Teuchos::ArrayView<const LO>
perm)
const
211 for(
size_t j = 0;
j <
X_out.extent(1); ++
j) {
212 for(
size_t i = 0;
i <
X_out.extent(0); ++
i) {
219 template<
typename InView,
typename OutView>
222 const Teuchos::ArrayView<const LO>
perm,
228 for(
size_t j = 0;
j <
X_out.extent(1); ++
j) {
231 for(LO
k = 0;
k < blockSize;
k++) {
238 template<
typename InView,
typename OutView>
241 const Teuchos::ArrayView<const LO>
perm,
247 for(
size_t j = 0;
j <
X_out.extent(1); ++
j) {
250 for(LO
k = 0;
k < blockSize;
k++) {
260 template<
typename InView>
263 const Teuchos::ArrayView<const LO>
perm)
const
267 size_t numRows =
X_out.getLocalLength();
268 for(
size_t j = 0;
j <
X_out.getNumVectors(); ++
j) {
269 Teuchos::ArrayRCP<OutScalar>
X_out_j =
X_out.getDataNonConst(
j);
270 for(
size_t i = 0;
i < numRows; ++
i) {
277 template<
typename InView>
280 const Teuchos::ArrayView<const LO>
perm)
const
282 size_t numRows =
X_out.getLocalLength();
284 for(
size_t j = 0;
j <
X_in.extent(1); ++
j) {
285 Teuchos::ArrayRCP<const OutScalar>
X_out_j =
X_out.getData(
j);
286 for(
size_t i = 0;
i < numRows; ++
i) {
293 template<
typename InView>
296 const Teuchos::ArrayView<const LO>
perm,
302 for(
size_t j = 0;
j <
X_out.getNumVectors(); ++
j) {
303 Teuchos::ArrayRCP<OutScalar>
X_out_j =
X_out.getDataNonConst(
j);
306 for(LO
k = 0;
k < blockSize;
k++) {
313 template<
typename InView>
316 const Teuchos::ArrayView<const LO>
perm,
321 for(
size_t j = 0;
j <
X_in.extent(1); ++
j) {
322 Teuchos::ArrayRCP<const OutScalar>
X_out_j =
X_out.getData(
j);
325 for(LO
k = 0;
k < blockSize;
k++) {