// // 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, int columnSize, int rowSize) { 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