Files
cs5500_parallel_prog/HW10/ParseMatrixForMPI.h
2020-03-29 21:12:13 -06:00

38 lines
1.1 KiB
C++

//
// Created by Brady Bodily on 3/29/20.
//
#include <vector>
#ifndef HW10_PARSEMATRIXFORMPI_H
#define HW10_PARSEMATRIXFORMPI_H
namespace matrixTools
{
template <typename T>
std::vector<std::vector<T>> UnflattenMatrix(std::vector<T> originalVector, int rowSize, int columnSize)
{
std::vector<std::vector<T>> matrix(columnSize, std::vector<T>(rowSize, 0));
for (int i = 0; i < columnSize; i++) {
for (int j = 0; j < rowSize; j++) {
matrix[i][j] = originalVector[i + j];
}
}
return matrix;
}
template <typename T>
std::vector<T> FlattenMatrix(std::vector<std::vector<T>> matrix)
{
std::vector<T> ret;
for(const auto &v: matrix)
ret.insert(ret.end(), v.begin(), v.end());
return ret;
// std::vector<T> rVector((rowSize*columnSize), 0);
// for (int i = 0; i < columnSize; i++) {
// for (int j = 0; j < rowSize; j++) {
// rVector[j*i] = matrix[i][j];
// }
// }
// return rVector;
}
}
#endif //HW10_PARSEMATRIXFORMPI_H