3
0
mirror of https://github.com/triqs/dft_tools synced 2024-10-31 19:23:45 +01:00

gf : correction for block

- forgot a constructor on the domain
 (was a pb for cthyb_krylov code).
- a few details (better make_gf).
This commit is contained in:
Olivier Parcollet 2013-08-30 12:37:12 +02:00
parent d6c74f95c5
commit 5a12b7eeb5
3 changed files with 9 additions and 0 deletions

View File

@ -190,5 +190,9 @@ template<typename ... U>
indexmaps::cuboid::domain_t<sizeof...(U)> make_cuboid_domain(U ... u) { return {u...};} indexmaps::cuboid::domain_t<sizeof...(U)> make_cuboid_domain(U ... u) { return {u...};}
//cuboid_array_domain<sizeof...(U)> make_cuboid_domain(U ... u) { return {u...};} //cuboid_array_domain<sizeof...(U)> make_cuboid_domain(U ... u) { return {u...};}
typedef indexmaps::cuboid::domain_t<2> matrix_shape_t;
typedef indexmaps::cuboid::domain_t<1> vector_shape_t;
}} }}
#endif #endif

View File

@ -32,6 +32,7 @@ namespace triqs { namespace gfs {
template<typename Opt> struct gf_mesh<block_index,Opt> : discrete_mesh<discrete_domain> { template<typename Opt> struct gf_mesh<block_index,Opt> : discrete_mesh<discrete_domain> {
gf_mesh() = default; gf_mesh() = default;
gf_mesh(size_t s) : discrete_mesh<discrete_domain>(s) {} gf_mesh(size_t s) : discrete_mesh<discrete_domain>(s) {}
gf_mesh(discrete_domain const & d) : discrete_mesh<discrete_domain>(d) {}
}; };
namespace gfs_implementation { namespace gfs_implementation {

View File

@ -73,6 +73,10 @@ namespace triqs { namespace gfs {
} // gfs_implementation } // gfs_implementation
// make_gf and make_gf_view forward any args to them // make_gf and make_gf_view forward any args to them
template <typename Variable, typename Target=matrix_valued, typename Opt=void, typename ... U>
gf<Variable,Target,Opt> make_gf(gf_mesh<Variable,Opt> m, U && ... x)
{ return gfs_implementation::factories<Variable,Target,Opt>::make_gf(std::move(m),std::forward<U>(x)...);}
template <typename Variable, typename Target=matrix_valued, typename Opt=void, typename ... U> template <typename Variable, typename Target=matrix_valued, typename Opt=void, typename ... U>
gf<Variable,Target,Opt> make_gf(U && ... x) { return gfs_implementation::factories<Variable,Target,Opt>::make_gf(std::forward<U>(x)...);} gf<Variable,Target,Opt> make_gf(U && ... x) { return gfs_implementation::factories<Variable,Target,Opt>::make_gf(std::forward<U>(x)...);}