bpp-phyl3  3.0.0
DRTreeLikelihood.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_LEGACY_LIKELIHOOD_DRTREELIKELIHOOD_H
6 #define BPP_PHYL_LEGACY_LIKELIHOOD_DRTREELIKELIHOOD_H
7 
10 
13 
14 namespace bpp
15 {
39 {
40 public:
43 
44  DRTreeLikelihoodInterface* clone() const override = 0;
45 
46 public:
47 
48 public:
54  virtual DRASDRTreeLikelihoodData& likelihoodData() override = 0;
55  virtual const DRASDRTreeLikelihoodData& likelihoodData() const override = 0;
64  virtual void computeLikelihoodAtNode(int nodeId, VVVdouble& likelihoodArray) const = 0;
65 };
66 } // end of namespace bpp.
67 #endif // BPP_PHYL_LEGACY_LIKELIHOOD_DRTREELIKELIHOOD_H
Likelihood data structure for rate across sites models, using a double-recursive algorithm.
Interface for double-recursive (DR) implementation of the likelihood computation.
virtual void computeLikelihoodAtNode(int nodeId, VVVdouble &likelihoodArray) const =0
Compute the likelihood array at a given node.
virtual const DRASDRTreeLikelihoodData & likelihoodData() const override=0
DRTreeLikelihoodInterface * clone() const override=0
virtual DRASDRTreeLikelihoodData & likelihoodData() override=0
Interface for rate across sites (RAS) implementation.
Defines the basic types of data flow nodes.
std::vector< VVdouble > VVVdouble