111 #include "libhmsbeagle/platform.h"
294 int partialsBufferCount,
295 int compactBufferCount,
298 int eigenBufferCount,
299 int matrixBufferCount,
301 int scaleBufferCount,
304 long preferenceFlags,
305 long requirementFlags,
345 const int* inStates);
363 const double* inPartials);
379 const double* inPartials);
397 double* outPartials);
415 const double* inEigenVectors,
416 const double* inInverseEigenVectors,
417 const double* inEigenValues);
431 int stateFrequenciesIndex,
432 const double* inStateFrequencies);
446 int categoryWeightsIndex,
447 const double* inCategoryWeights);
460 const double* inCategoryRates);
472 const double* inPatternWeights);
494 const int* firstIndices,
495 const int* secondIndices,
496 const int* resultIndices,
520 const int* probabilityIndices,
521 const int* firstDerivativeIndices,
522 const int* secondDerivativeIndices,
523 const double* edgeLengths,
543 const double* inMatrix,
580 const int* matrixIndices,
581 const double* inMatrices,
582 const double* paddedValues,
616 int cumulativeScaleIndex);
635 const int* destinationPartials,
636 int destinationPartialsCount);
650 const int* scaleIndices,
652 int cumulativeScaleIndex);
666 const int* scaleIndices,
668 int cumulativeScaleIndex);
679 int cumulativeScaleIndex);
691 int destScalingIndex,
692 int srcScalingIndex);
717 const int* bufferIndices,
718 const int* categoryWeightsIndices,
719 const int* stateFrequenciesIndices,
720 const int* cumulativeScaleIndices,
722 double* outSumLogLikelihood);
752 const int* parentBufferIndices,
753 const int* childBufferIndices,
754 const int* probabilityIndices,
755 const int* firstDerivativeIndices,
756 const int* secondDerivativeIndices,
757 const int* categoryWeightsIndices,
758 const int* stateFrequenciesIndices,
759 const int* cumulativeScaleIndices,
761 double* outSumLogLikelihood,
762 double* outSumFirstDerivative,
763 double* outSumSecondDerivative);
777 double* outLogLikelihoods);
791 double* outFirstDerivatives,
792 double* outSecondDerivatives);
BEAGLE_DLLEXPORT const char * beagleGetVersion(void)
Get version.
BEAGLE_DLLEXPORT int beagleSetCategoryRates(int instance, const double *inCategoryRates)
Set category rates.
char * implName
Definition: beagle.h:201
List of hardware resources.
Definition: beagle.h:221
int child1Partials
Definition: beagle.h:593
long requiredFlags
Definition: beagle.h:215
BEAGLE_DLLEXPORT int beagleSetEigenDecomposition(int instance, int eigenIndex, const double *inEigenVectors, const double *inInverseEigenVectors, const double *inEigenValues)
Set an eigen-decomposition buffer.
Information about a specific instance.
Definition: beagle.h:197
int destinationScaleRead
Definition: beagle.h:592
char * description
Definition: beagle.h:213
BeagleOpCodes
Operation codes.
Definition: beagle.h:189
long supportFlags
Definition: beagle.h:214
int length
Definition: beagle.h:223
BEAGLE_DLLEXPORT int beagleSetPartials(int instance, int bufferIndex, const double *inPartials)
Set an instance partials buffer.
BEAGLE_DLLEXPORT int beagleCalculateEdgeLogLikelihoods(int instance, 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)
Calculate site log likelihoods and derivatives along an edge.
BEAGLE_DLLEXPORT int beagleGetTransitionMatrix(int instance, int matrixIndex, double *outMatrix)
Get a finite-time transition probability matrix.
BEAGLE_DLLEXPORT int beagleGetPartials(int instance, int bufferIndex, int scaleIndex, double *outPartials)
Get partials from an instance buffer.
BEAGLE_DLLEXPORT int beagleSetTransitionMatrix(int instance, int matrixIndex, const double *inMatrix, double paddedValue)
Set a finite-time transition probability matrix.
char * implDescription
Definition: beagle.h:203
BEAGLE_DLLEXPORT int beagleFinalize(void)
Finalize the library.
int child2TransitionMatrix
Definition: beagle.h:596
int child2Partials
Definition: beagle.h:595
BEAGLE_DLLEXPORT int beagleAccumulateScaleFactors(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex)
Accumulate scale factors.
char * resourceName
Definition: beagle.h:199
long flags
Definition: beagle.h:204
int child1TransitionMatrix
Definition: beagle.h:594
BeagleResource * list
Definition: beagle.h:222
BEAGLE_DLLEXPORT int beagleWaitForPartials(const int instance, const int *destinationPartials, int destinationPartialsCount)
Block until all calculations that write to the specified partials have completed. ...
BEAGLE_DLLEXPORT const char * beagleGetCitation(void)
Get citation.
BEAGLE_DLLEXPORT int beagleSetCategoryWeights(int instance, int categoryWeightsIndex, const double *inCategoryWeights)
Set a category weights buffer.
BEAGLE_DLLEXPORT int beagleCopyScaleFactors(int instance, int destScalingIndex, int srcScalingIndex)
Copy scale factors.
int resourceNumber
Definition: beagle.h:198
BEAGLE_DLLEXPORT int beagleCalculateRootLogLikelihoods(int instance, const int *bufferIndices, const int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int *cumulativeScaleIndices, int count, double *outSumLogLikelihood)
Calculate site log likelihoods at a root node.
BEAGLE_DLLEXPORT int beagleUpdateTransitionMatrices(int instance, int eigenIndex, const int *probabilityIndices, const int *firstDerivativeIndices, const int *secondDerivativeIndices, const double *edgeLengths, int count)
Calculate a list of transition probability matrices.
BEAGLE_DLLEXPORT int beagleGetSiteLogLikelihoods(int instance, double *outLogLikelihoods)
Get site log likelihoods for last beagleCalculateRootLogLikelihoods or beagleCalculateEdgeLogLikeliho...
BEAGLE_DLLEXPORT int beagleUpdatePartials(const int instance, const BeagleOperation *operations, int operationCount, int cumulativeScaleIndex)
Calculate or queue for calculation partials using a list of operations.
BEAGLE_DLLEXPORT int beagleConvolveTransitionMatrices(int instance, const int *firstIndices, const int *secondIndices, const int *resultIndices, int matrixCount)
Convolve lists of transition probability matrices.
BEAGLE_DLLEXPORT int beagleSetTipPartials(int instance, int tipIndex, const double *inPartials)
Set an instance partials buffer for tip node.
int destinationPartials
Definition: beagle.h:590
BEAGLE_DLLEXPORT int beagleFinalizeInstance(int instance)
Finalize this instance.
BEAGLE_DLLEXPORT int beagleSetPatternWeights(int instance, const double *inPatternWeights)
Set pattern weights.
BEAGLE_DLLEXPORT int beagleSetStateFrequencies(int instance, int stateFrequenciesIndex, const double *inStateFrequencies)
Set a state frequency buffer.
BEAGLE_DLLEXPORT int beagleCreateInstance(int tipCount, int partialsBufferCount, int compactBufferCount, int stateCount, int patternCount, int eigenBufferCount, int matrixBufferCount, int categoryCount, int scaleBufferCount, int *resourceList, int resourceCount, long preferenceFlags, long requirementFlags, BeagleInstanceDetails *returnInfo)
Create a single instance.
Description of a hardware resource.
Definition: beagle.h:211
BEAGLE_DLLEXPORT BeagleResourceList * beagleGetResourceList(void)
Get list of hardware resources.
BeagleFlags
Hardware and implementation capability flags.
Definition: beagle.h:142
BEAGLE_DLLEXPORT int beagleSetTipStates(int instance, int tipIndex, const int *inStates)
Set the compact state representation for tip node.
BEAGLE_DLLEXPORT int beagleGetSiteDerivatives(int instance, double *outFirstDerivatives, double *outSecondDerivatives)
Get site derivatives for last beagleCalculateEdgeLogLikelihoods call.
BEAGLE_DLLEXPORT int beagleRemoveScaleFactors(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex)
Remove scale factors.
int destinationScaleWrite
Definition: beagle.h:591
char * name
Definition: beagle.h:212
A list of integer indices which specify a partial likelihoods operation.
Definition: beagle.h:589
BEAGLE_DLLEXPORT int beagleResetScaleFactors(int instance, int cumulativeScaleIndex)
Reset scalefactors.
BeagleReturnCodes
Error return codes.
Definition: beagle.h:120
BEAGLE_DLLEXPORT int beagleSetTransitionMatrices(int instance, const int *matrixIndices, const double *inMatrices, const double *paddedValues, int count)
Set multiple transition matrices.