14#include "libmesh/parallel_eigen.h"
39 [](
const nlohmann::json & json_value) -> RealEigenMatrix
41 const auto vec_of_vec =
42 json_value.get<std::vector<std::vector<double>>>();
43 const auto nrows = vec_of_vec.size();
45 return RealEigenMatrix::Zero(0, 0);
46 const auto ncols = vec_of_vec[0].size();
48 RealEigenMatrix matrix;
49 matrix.resize(nrows, ncols);
50 for (
const auto i : make_range(nrows))
52 const auto & row = vec_of_vec[i];
53 if (row.size() != ncols)
54 throw std::runtime_error(
"Matrix is jagged");
56 for (
const auto j : index_range(row))
57 matrix(i, j) = row[j];
Defines classes for registering values that can be parsed, communicated, and stored in the WebServerC...
registerWebServerControlScalar(bool)
registerWebServerControlVector(Real)
registerWebServerControlType(RealEigenMatrix, [](const nlohmann::json &json_value) -> RealEigenMatrix { const auto vec_of_vec=json_value.get< std::vector< std::vector< double > > >();const auto nrows=vec_of_vec.size();if(nrows==0) return RealEigenMatrix::Zero(0, 0);const auto ncols=vec_of_vec[0].size();RealEigenMatrix matrix;matrix.resize(nrows, ncols);for(const auto i :make_range(nrows)) { const auto &row=vec_of_vec[i];if(row.size() !=ncols) throw std::runtime_error("Matrix is jagged");for(const auto j :index_range(row)) matrix(i, j)=row[j];} return matrix;})