beagle_cpu_BeagleCPUImpl3
Usage
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 resetScaleFactors
(int
cumulativeScalingIndex)
int copyScaleFactors
(int
destScalingIndex,
int
srcScalingIndex)
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
calcEdgeLogLikelihoods
(const
int
parentBufferIndex,
const
int
childBufferIndex,
const
int
probabilityIndex,
const
int
categoryWeightsIndex,
const
int
stateFrequenciesIndex,
const
int
scalingFactorsIndex,
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
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
REALTYPE realtypeMin
int scalingExponentThreshhold
EigenDecomposition
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
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()