OGS
TransposeInPlace.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <vector>
13
15
16namespace ProcessLib
17{
22template <int Components, typename StoreValuesFunction>
23std::vector<double> transposeInPlace(
24 StoreValuesFunction const& store_values_function)
25{
26 std::vector<double> result;
27 store_values_function(result);
29 Eigen::Matrix<double, Eigen::Dynamic, Components, Eigen::RowMajor>>(
30 result, result.size() / Components, Components) =
32 Eigen::Matrix<double, Components, Eigen::Dynamic, Eigen::RowMajor>>(
33 result, Components, result.size() / Components)
34 .transpose()
35 .eval();
36
37 return result;
38}
39
40} // namespace ProcessLib
Eigen::Map< const Matrix > toMatrix(std::vector< double > const &data, Eigen::MatrixXd::Index rows, Eigen::MatrixXd::Index cols)
Definition: EigenMapTools.h:72
std::vector< double > transposeInPlace(StoreValuesFunction const &store_values_function)