Program Listing for File neutral_analytical.h

Return to documentation for file (necsim/neutral_analytical.h)

// This file is part of necsim project which is released under MIT license.
// See file **LICENSE.txt** or visit https://opensource.org/licenses/MIT) for full license details.

#ifndef NECSIM_NEUTRAL_ANALYTICAL_H
#define NECSIM_NEUTRAL_ANALYTICAL_H

#include <cmath>
#include <vector>
#include <map>

namespace neutral_analytical
{
    long double siMetacommunitySpeciesWithAbundance(const unsigned long &n, const unsigned long &metacommunity_size,
                                                    const long double &speciation_rate);

    long double calcFundamentalBiodiversityNumber(const unsigned long &community_size,
                                                  const long double &speciation_rate);

    long double calcSpeciationRate(const long double &fundamental_biodiversity_number,
                                   const unsigned long &metacommunity_size);

    long double siSpeciesRichnessDeprecated(const unsigned long &community_size, const long double &speciation_rate);

    long double siSpeciesRichness(const unsigned long &community_size, const long double &speciation_rate);

    std::map<unsigned long, long double> siSpeciesAbundanceCumulativeDistribution(const unsigned long &community_size,
                                                                                  const long double &speciation_rate);

}
#endif //NECSIM_NEUTRAL_ANALYTICAL_H