#include <triqs/parameters.hpp> #include <iostream> #define TRIQS_ARRAYS_ENFORCE_BOUNDCHECK using namespace triqs; using namespace triqs::utility; int main() { parameters P; P["a"] = long(1); P["d"] = 2.7; P["s"] = std::string("-14.3"); P["sc"] = "-14.3"; triqs::arrays::array<double,2> A(2,2); A()=0;A(0,0) = 1.3; A(1,1) = -8.2; triqs::arrays::array<long,1> B(3); B()=0;B(0) = 3; B(1) = -8; triqs::arrays::matrix<double> U(2,2);U()=1.; P["U"] = U; triqs::arrays::vector<double> V(3);V()=1.; P["V"] = V; P["A"] = std::move(A); P["B"] = B; std::cout << "A"<< P["A"] << std::endl; std::cout << "B"<< P["B"] << std::endl; triqs::arrays::array<long,1> C; C = extract<decltype(C)>(P["B"]); std::cout << "C" << C << std::endl; // testing that I can extract a view and modify it. triqs::arrays::array_view <long,1> VC = extract<triqs::arrays::array_view <long,1>>(P["B"]); std::cout << "VC" << VC << std::endl; VC(0) *=2; C = extract<decltype(C)>(P["B"]); std::cout << "C" << C << std::endl; { H5::H5File file( "ess.h5", H5F_ACC_TRUNC ); h5_write( file, "Parameters", P); } return 0; }