A library for working with phylogenetic and population genetic data.
v0.32.0
compensated_sum.hpp File Reference
#include <cassert>
#include <cmath>
#include <cstdint>
#include <limits>
#include <stdexcept>

Go to the source code of this file.

Classes

class  CompensatedSum< SummationAlgorithm >
 Compensated summation algorithmm, such as Kahan, Neumaier, and Klein summation. More...
 
class  CompensatedSum< SummationAlgorithm >
 Compensated summation algorithmm, such as Kahan, Neumaier, and Klein summation. More...
 
struct  KahanSummation
 Tag for tag dispatching the algorithm in CompensatedSum. See there for details. More...
 
struct  KleinSummation
 Tag for tag dispatching the algorithm in CompensatedSum. See there for details. More...
 
struct  NeumaierSummation
 Tag for tag dispatching the algorithm in CompensatedSum. See there for details. More...
 

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::utils
 

Typedefs

using KahanSum = CompensatedSum< KahanSummation >
 Typedef shorthand for a Kahan sum. More...
 
using KleinSum = CompensatedSum< KleinSummation >
 Typedef shorthand for a Kahan Babushka Klein sum. More...
 
using NeumaierSum = CompensatedSum< NeumaierSummation >
 Typedef shorthand for a Kahan Babushka Neumaier sum. More...