Empirical
Namespaces | Functions
stats.h File Reference

Functions for calculating various statistics about an ensemble. More...

#include <type_traits>
#include <map>
#include <unordered_map>
#include <cmath>
#include <vector>
#include <set>
#include <unordered_set>
#include <functional>
#include "../base/vector.h"
#include "../meta/type_traits.h"

Go to the source code of this file.

Namespaces

 emp
 If we are in emscripten, make sure to include the header.
 

Functions

template<typename C >
std::enable_if<!emp::is_ptr_type< typename C::value_type >::value &&std::is_scalar< typename C::value_type >::value, typename C::value_type >::type emp::Sum (C &elements)
 
template<typename C >
std::enable_if< emp::is_ptr_type< typename C::value_type >::value &&std::is_scalar< typename emp::remove_ptr_type< typename C::value_type >::type >::value, typename emp::remove_ptr_type< typename C::value_type >::type >::type emp::Sum (C &elements)
 
template<typename C >
std::enable_if<!emp::is_ptr_type< typename C::value_type >::value, double >::type emp::ShannonEntropy (C &elements)
 Calculate Shannon Entropy of the members of the container passed. More...
 
template<typename C >
std::enable_if< emp::is_ptr_type< typename C::value_type >::value, double >::type emp::ShannonEntropy (C &elements)
 Calculate Shannon Entropy of the members of the container when those members are pointers. More...
 
template<typename C >
std::enable_if<!emp::is_ptr_type< typename C::value_type >::value &&std::is_scalar< typename C::value_type >::value, double >::type emp::Variance (C &elements)
 
template<typename C >
std::enable_if< emp::is_ptr_type< typename C::value_type >::value &&std::is_scalar< typename emp::remove_ptr_type< typename C::value_type >::type >::value, double >::type emp::Variance (C &elements)
 
template<typename C >
emp::sfinae_decoy< double, typename C::value_type > emp::Mean (C &elements)
 
template<typename C >
emp::sfinae_decoy< double, typename C::value_type > emp::StandardDeviation (C &elements)
 
template<typename C >
std::enable_if<!emp::is_ptr_type< typename C::value_type >::value, int >::type emp::UniqueCount (C &elements)
 Count the number of unique elements in a container. More...
 
template<typename C >
std::enable_if< emp::is_ptr_type< typename C::value_type >::value, int >::type emp::UniqueCount (C &elements)
 
template<typename C , typename RET_TYPE , typename ARG_TYPE >
RET_TYPE emp::MaxResult (std::function< RET_TYPE(ARG_TYPE)> &fun, C &elements)
 Run the provided function on every member of a container and return the MAXIMUM result. More...
 
template<typename C , typename RET_TYPE , typename ARG_TYPE >
RET_TYPE emp::MinResult (std::function< RET_TYPE(ARG_TYPE)> &fun, C &elements)
 Run the provided function on every member of a container and return the MINIMUM result. More...
 
template<typename C , typename RET_TYPE , typename ARG_TYPE >
std::enable_if< std::is_scalar< RET_TYPE >::value, double >::type emp::MeanResult (std::function< RET_TYPE(ARG_TYPE)> &fun, C &elements)
 
template<typename C , typename RET_TYPE , typename ARG_TYPE >
emp::vector< RET_TYPE > emp::ApplyFunction (std::function< RET_TYPE(ARG_TYPE)> &fun, C &elements)
 Run the provided function on every member of a container and return a vector of ALL results. More...
 

Detailed Description

Functions for calculating various statistics about an ensemble.

Note
This file is part of Empirical, https://github.com/devosoft/Empirical
Date
2016-2017
Note
Status: BETA