93 const std::string& name,
96 const std::vector<Rational>& val,
99 std::vector<std::string> tmp;
100 tmp.reserve(val.size());
101 int64_t max_size = -1;
102 for (
const auto& v : val) {
103 tmp.emplace_back(v.serialize());
104 max_size = std::max(max_size, int64_t(tmp.back().size()));
107 Eigen::Matrix<int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> data(tmp.size(), max_size);
108 data.setConstant(
int(
' '));
109 for (int64_t i = 0; i < data.rows(); ++i) {
110 for (int64_t j = 0; j < tmp[i].size(); ++j) {
111 data(i, j) = int(tmp[i][j]);
125 const std::string& name,
127 const int64_t stride,
129 const T& default_val)
131 std::stringstream ss;
135 m_hdf5_file->writeAttribute(stride, ss.str(),
"stride");
136 m_hdf5_file->writeAttribute(default_val, ss.str(),
"default_value");
137 m_hdf5_file->writeAttribute(type, ss.str(),
"dimension");
138 m_hdf5_file->writeAttribute(get_type<T>(), ss.str(),
"type");