mirror of
https://github.com/triqs/dft_tools
synced 2024-08-17 09:41:43 +02:00
38 lines
951 B
C++
38 lines
951 B
C++
#include <cmath>
|
|
#include "./toto.hpp"
|
|
|
|
namespace app4triqs {
|
|
|
|
toto &toto::operator+=(toto const &b) {
|
|
this->i += b.i;
|
|
return *this;
|
|
}
|
|
|
|
toto toto::operator+(toto const &b) const {
|
|
auto res = *this;
|
|
res += b;
|
|
return res;
|
|
}
|
|
|
|
bool toto::operator==(toto const &b) const { return (this->i == b.i); }
|
|
|
|
void h5_write(triqs::h5::group grp, std::string subgroup_name, toto const &m) {
|
|
grp = subgroup_name.empty() ? grp : grp.create_group(subgroup_name);
|
|
h5_write(grp, "i", m.i);
|
|
h5_write_attribute(grp, "TRIQS_HDF5_data_scheme", toto::hdf5_scheme());
|
|
}
|
|
|
|
void h5_read(triqs::h5::group grp, std::string subgroup_name, toto &m) {
|
|
grp = subgroup_name.empty() ? grp : grp.open_group(subgroup_name);
|
|
int i;
|
|
h5_read(grp, "i", i);
|
|
m = toto(i);
|
|
}
|
|
|
|
int chain(int i, int j) {
|
|
int n_digits_j = j > 0 ? (int)log10(j) + 1 : 1;
|
|
return i * int(pow(10, n_digits_j)) + j;
|
|
}
|
|
|
|
} // namespace app4triqs
|