Program Listing for File sample_diploid.hpp¶
↰ Return to documentation for file (fwdpp/sample_diploid.hpp)
#ifndef FWDPP_SAMPLE_DIPLOID_HPP
#define FWDPP_SAMPLE_DIPLOID_HPP
#include <utility>
#include <vector>
#include <fwdpp/fwd_functional.hpp>
#include <fwdpp/insertion_policies.hpp>
namespace fwdpp
{
template <typename haploid_genome_type, typename haploid_genome_cont_type_allocator,
typename mutation_type, typename mutation_cont_type_allocator,
typename diploid_geno_t, typename diploid_vector_type_allocator,
typename diploid_fitness_function, typename mutation_model,
typename recombination_policy,
template <typename, typename> class haploid_genome_cont_type,
template <typename, typename> class mutation_cont_type,
template <typename, typename> class diploid_vector_type,
typename mutation_removal_policy = std::true_type>
double sample_diploid(
const gsl_rng *r,
haploid_genome_cont_type<haploid_genome_type, haploid_genome_cont_type_allocator> &haploid_genomes,
diploid_vector_type<diploid_geno_t, diploid_vector_type_allocator>
&diploids,
mutation_cont_type<mutation_type, mutation_cont_type_allocator>
&mutations,
std::vector<uint_t> &mcounts, const uint_t &N_curr, const double &mu,
const mutation_model &mmodel, const recombination_policy &rec_pol,
const diploid_fitness_function &ff,
typename haploid_genome_type::mutation_container &neutral,
typename haploid_genome_type::mutation_container &selected,
const double f = 0.,
const mutation_removal_policy mp = mutation_removal_policy());
template <typename haploid_genome_type, typename haploid_genome_cont_type_allocator,
typename mutation_type, typename mutation_cont_type_allocator,
typename diploid_geno_t, typename diploid_vector_type_allocator,
typename diploid_fitness_function, typename mutation_model,
typename recombination_policy,
template <typename, typename> class haploid_genome_cont_type,
template <typename, typename> class mutation_cont_type,
template <typename, typename> class diploid_vector_type,
typename mutation_removal_policy = std::true_type>
double sample_diploid(
const gsl_rng *r,
haploid_genome_cont_type<haploid_genome_type, haploid_genome_cont_type_allocator> &haploid_genomes,
diploid_vector_type<diploid_geno_t, diploid_vector_type_allocator>
&diploids,
mutation_cont_type<mutation_type, mutation_cont_type_allocator>
&mutations,
std::vector<uint_t> &mcounts, const uint_t &N_curr,
const uint_t &N_next, const double &mu, const mutation_model &mmodel,
const recombination_policy &rec_pol,
const diploid_fitness_function &ff,
typename haploid_genome_type::mutation_container &neutral,
typename haploid_genome_type::mutation_container &selected,
const double f = 0.,
const mutation_removal_policy mp = mutation_removal_policy());
} // namespace fwdpp
#include <fwdpp/sample_diploid.tcc>
#endif