NAME¶
beagle::cpu::BeagleCPUImpl -
SYNOPSIS¶
Inherits
beagle::BeagleImpl.
Public Member Functions¶
int
createInstance (int tipCount, int partialsBufferCount, int
compactBufferCount, int stateCount, int patternCount, int
eigenDecompositionCount, int matrixCount, int categoryCount, int
scaleBufferCount, int resourceNumber, long preferenceFlags, long
requirementFlags)
int
getInstanceDetails (
BeagleInstanceDetails *returnInfo)
int
setTipStates (int tipIndex, const int *inStates)
int
setTipPartials (int tipIndex, const double *inPartials)
int
setPartials (int bufferIndex, const double *inPartials)
int
getPartials (int bufferIndex, int scaleBuffer, double *outPartials)
int
setEigenDecomposition (int eigenIndex, const double *inEigenVectors,
const double *inInverseEigenVectors, const double *inEigenValues)
int
setStateFrequencies (int stateFrequenciesIndex, const double
*inStateFrequencies)
int
setCategoryWeights (int categoryWeightsIndex, const double
*inCategoryWeights)
int
setPatternWeights (const double *inPatternWeights)
int
setCategoryRates (const double *inCategoryRates)
int
setTransitionMatrix (int matrixIndex, const double *inMatrix, double
paddedValue)
int
setTransitionMatrices (const int *matrixIndices, const double
*inMatrices, const double *paddedValues, int count)
int
getTransitionMatrix (int matrixIndex, double *outMatrix)
int
updateTransitionMatrices (int eigenIndex, const int
*probabilityIndices, const int *firstDerivativeIndices, const int
*secondDerivativeIndices, const double *edgeLengths, int count)
int
updatePartials (const int *operations, int operationCount, int
cumulativeScalingIndex)
int
waitForPartials (const int *destinationPartials, int
destinationPartialsCount)
int
accumulateScaleFactors (const int *scalingIndices, int count, int
cumulativeScalingIndex)
int
removeScaleFactors (const int *scalingIndices, int count, int
cumulativeScalingIndex)
int
resetScaleFactors (int cumulativeScalingIndex)
int
copyScaleFactors (int destScalingIndex, int srcScalingIndex)
int
calculateRootLogLikelihoods (const int *bufferIndices, const int
*categoryWeightsIndices, const int *stateFrequenciesIndices, const int
*cumulativeScaleIndices, int count, double *outSumLogLikelihood)
int
calculateEdgeLogLikelihoods (const int *parentBufferIndices, const
int *childBufferIndices, const int *probabilityIndices, const int
*firstDerivativeIndices, const int *secondDerivativeIndices, const int
*categoryWeightsIndices, const int *stateFrequenciesIndices, const int
*cumulativeScaleIndices, int count, double *outSumLogLikelihood, double
*outSumFirstDerivative, double *outSumSecondDerivative)
int
getSiteLogLikelihoods (double *outLogLikelihoods)
int
getSiteDerivatives (double *outFirstDerivatives, double
*outSecondDerivatives)
int
block (void)
virtual const char *
getName ()
virtual const long
getFlags ()
Protected Member Functions¶
virtual void
calcStatesStates (REALTYPE *destP, const int *states1, const
REALTYPE *matrices1, const int *states2, const REALTYPE *matrices2)
virtual void
calcStatesPartials (REALTYPE *destP, const int *states1,
const REALTYPE *matrices1, const REALTYPE *partials2, const REALTYPE
*matrices2)
virtual void
calcPartialsPartials (REALTYPE *destP, const REALTYPE
*partials1, const REALTYPE *matrices1, const REALTYPE *partials2, const
REALTYPE *matrices2)
virtual int
calcRootLogLikelihoods (const int bufferIndex, const int
categoryWeightsIndex, const int stateFrequenciesIndex, const int
scaleBufferIndex, double *outSumLogLikelihood)
virtual int
calcRootLogLikelihoodsMulti (const int *bufferIndices, const
int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int
*scaleBufferIndices, int count, double *outSumLogLikelihood)
virtual int
calcEdgeLogLikelihoods (const int parentBufferIndex, const
int childBufferIndex, const int probabilityIndex, const int
categoryWeightsIndex, const int stateFrequenciesIndex, const int
scalingFactorsIndex, double *outSumLogLikelihood)
virtual int
calcEdgeLogLikelihoodsMulti (const int *parentBufferIndices,
const int *childBufferIndices, const int *probabilityIndices, const int
*categoryWeightsIndices, const int *stateFrequenciesIndices, const int
*scalingFactorsIndices, int count, double *outSumLogLikelihood)
virtual int
calcEdgeLogLikelihoodsFirstDeriv (const int
parentBufferIndex, const int childBufferIndex, const int probabilityIndex,
const int firstDerivativeIndex, const int categoryWeightsIndex, const int
stateFrequenciesIndex, const int scalingFactorsIndex, double
*outSumLogLikelihood, double *outSumFirstDerivative)
virtual int
calcEdgeLogLikelihoodsSecondDeriv (const int
parentBufferIndex, const int childBufferIndex, const int probabilityIndex,
const int firstDerivativeIndex, const int secondDerivativeIndex, const int
categoryWeightsIndex, const int stateFrequenciesIndex, const int
scalingFactorsIndex, double *outSumLogLikelihood, double
*outSumFirstDerivative, double *outSumSecondDerivative)
virtual void
calcStatesStatesFixedScaling (REALTYPE *destP, const int
*child0States, const REALTYPE *child0TransMat, const int *child1States, const
REALTYPE *child1TransMat, const REALTYPE *scaleFactors)
virtual void
calcStatesPartialsFixedScaling (REALTYPE *destP, const int
*child0States, const REALTYPE *child0TransMat, const REALTYPE *child1Partials,
const REALTYPE *child1TransMat, const REALTYPE *scaleFactors)
virtual void
calcPartialsPartialsFixedScaling (REALTYPE *destP, const
REALTYPE *child0States, const REALTYPE *child0TransMat, const REALTYPE
*child1Partials, const REALTYPE *child1TransMat, const REALTYPE *scaleFactors)
virtual void
calcPartialsPartialsAutoScaling (REALTYPE *destP, const
REALTYPE *partials1, const REALTYPE *matrices1, const REALTYPE *partials2,
const REALTYPE *matrices2, int *activateScaling)
virtual void
rescalePartials (REALTYPE *destP, REALTYPE *scaleFactors,
REALTYPE *cumulativeScaleFactors, const int fillWithOnes)
virtual void
autoRescalePartials (REALTYPE *destP, signed short
*scaleFactors)
virtual int
getPaddedPatternsModulus ()
void *
mallocAligned (size_t size)
Protected Attributes¶
int
kBufferCount
int
kTipCount
(we don't really need this field) int
kPatternCount
(we don't really need this field, but it is handy) int
kPaddedPatternCount
the number of data patterns in each partial and tipStates element int
kExtraPatterns
the number of data patterns padded to be a multiple of 2 or 4 int
kMatrixCount
kPaddedPatternCount - kPatternCount int
kStateCount
the number of transition matrices to alloc and store int
kTransPaddedStateCount
the number of states int
kPartialsPaddedStateCount
int
kEigenDecompCount
int
kCategoryCount
the number of eigen solutions to alloc and store int
kScaleBufferCount
int
kPartialsSize
int
kMatrixSize
stored for convenience. kPartialsSize = kStateCount*kPatternCount int
kInternalPartialsBufferCount
stored for convenience. kMatrixSize = kStateCount*(kStateCount + 1) long
kFlags
REALTYPE
realtypeMin
int
scalingExponentThreshhold
EigenDecomposition
< BEAGLE_CPU_EIGEN_GENERIC > *
gEigenDecomposition"
double *
gCategoryRates
double *
gPatternWeights
REALTYPE **
gCategoryWeights
REALTYPE **
gStateFrequencies
REALTYPE **
gPartials
int **
gTipStates
REALTYPE **
gScaleBuffers
signed short **
gAutoScaleBuffers
int *
gActiveScalingFactors
REALTYPE **
gTransitionMatrices
REALTYPE *
integrationTmp
REALTYPE *
firstDerivTmp
REALTYPE *
secondDerivTmp
REALTYPE *
outLogLikelihoodsTmp
REALTYPE *
outFirstDerivativesTmp
REALTYPE *
outSecondDerivativesTmp
REALTYPE *
ones
REALTYPE *
zeros
Additional Inherited Members¶
Member Data Documentation¶
int beagle::cpu::BeagleCPUImpl::kPatternCount [protected]¶
(we don't really need this field, but it is handy) after initialize this will be
tipStates.size()
int beagle::cpu::BeagleCPUImpl::kTipCount [protected]¶
(we don't really need this field) after initialize this will be partials.size()
Author¶
Generated automatically by Doxygen for HMSBEAGLE from the source code.