1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| template<typename Generator, typename Tree>
forest_type<Tree> coalescence_process(forest_type<Tree> forest, history_type const& history, Generator& gen)
{
auto t = history.last_time();
while( (forest.nb_trees() > 1) && (t > history.first_time()) )
{
coalesce(forest, t, gen); // <---- attention ca va changer dans la seconde version
simulate_backward_migration(forest, t, gen);
--t;
}
coalesce(forest, t, gen); // <---- attention ca va changer dans la seconde version
return forest;
}
template<typename Generator, typename F, typename Tree>
forest_type<Tree> coalescence_process(forest_type<Tree> forest, history_type const& history, F binary_op, Generator& gen)
{
auto t = history.last_time();
while( (forest.nb_trees() > 1) && (t > history.first_time()) )
{
coalesce(forest, t, binary_op, gen); // <----et voila, un petit opérateur qui met le bazar
simulate_backward_migration(forest, t, gen);
--t;
}
coalesce(forest, t, binary_op, gen); // <----et voila, un petit opérateur qui met le bazar
return forest;
} |
Partager