mapgd  0.4
A program for the Maximum-likelihood analysis of population genomic data.
 All Data Structures Functions Variables Friends Groups Pages
lnmultinomial.h
1 //General likelihood functions
2 
3 #ifndef _LNMULTINOMIAL_H_
4 #define _LNMULTINOMIAL_H_
5 
6 #include <map>
7 #include <string>
8 #include <vector>
9 #include <cfloat>
10 #include <algorithm>
11 #include <iostream>
12 #include <string.h>
13 #include <limits> // std::numeric_limits
14 
15 #include "typedef.h"
16 #include "data_types/allele.h"
17 
18 /* \brief information that should be passed to vcf files.
19  */
20 
21 //* This is pathological. Working to kill it.*/
22 /* \brief returns the log...
23  */
25 private:
26  std::vector <float_t> lnfact_vector;
27  float_t *lnp_;
28  count_t size_;
29 public:
30  lnmultinomial (float_t*, const count_t&);
31  lnmultinomial (const count_t&);
32  lnmultinomial (void);
33  ~lnmultinomial (void);
34  void set (float_t*);
35  void set (float_t, float_t, float_t, float_t);
36  void set(void (*)(const Allele&, float_t *), const Allele&);
37 
38  float_t lnprob(const count_t*) ;
39  float_t lnprob_approx(const count_t*);
40  float_t lnfact(const count_t&);
41  float_t lnmultinomcoef(const count_t*);
42 
44 };
45 
46 std::vector <std::pair <count_t, float_t> > sort (const float_t *, const count_t &);
47 std::vector <std::pair <count_t, count_t> > sort (const count_t *, const count_t &);
48 #endif
float_t lnprob_approx(const count_t *)
Returns the probability of the multinomial distribution ().
Definition: lnmultinomial.cc:96
float_t lnprob(const count_t *)
Returns the probability of the multinomial distribution.
Definition: lnmultinomial.cc:83
lnmultinomial(void)
Creates a function that returns log probabilities from a multinomial distribution with parameters flo...
Definition: lnmultinomial.cc:31
std::vector< float_t > lnfact_vector
A look up table for log factorial values.
Definition: lnmultinomial.h:26
float_t * lnp_
TODO Add a description.
Definition: lnmultinomial.h:27
lnmultinomial & operator=(const lnmultinomial &rhs)
Use = operator to copy a lnmultinomial.
Definition: lnmultinomial.cc:5
float_t lnmultinomcoef(const count_t *)
Returns the log factorial of the count type numbers in the array.
Definition: lnmultinomial.cc:109
~lnmultinomial(void)
Creates a function that returns log probabilities from a multinomial distribution with parameters flo...
Definition: lnmultinomial.cc:38
void set(float_t *)
Creates a function that returns log probabilities from a multinomial distribution with parameters flo...
Definition: lnmultinomial.cc:53
float_t lnfact(const count_t &)
Returns the log factorial of the count type numbers in the array.
Definition: lnmultinomial.cc:129
Definition: lnmultinomial.h:24
count_t size_
The number of categories in the multinomial.
Definition: lnmultinomial.h:28
Summary statistics from the allele command.
Definition: allele.h:19