// // Created by Brady Bodily on 3/29/20. // #include #ifndef HW10_PARSEMATRIXFORMPI_H #define HW10_PARSEMATRIXFORMPI_H namespace matrixTools { template std::vector> UnflattenMatrix(std::vector originalVector, int rowSize, int columnSize) { std::vector> matrix(columnSize, std::vector(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 std::vector FlattenMatrix(std::vector> matrix) { std::vector ret; for(const auto &v: matrix) ret.insert(ret.end(), v.begin(), v.end()); return ret; // std::vector 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