---
name: "beagle_BeagleImpl"
section: "3"
platform: "linux"
package: "libhmsbeagle-dev"
version: "1.0-6"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/beagle_BeagleImpl"
---

# beagle\_BeagleImpl(3)

## NAME

beagle::BeagleImpl -

## SYNOPSIS

Inherited by **beagle::cpu::BeagleCPUImpl**, and **beagle::gpu::BeagleGPUImpl**.

### Public Member Functions

virtual int **createInstance** (int tipCount, int partialsBufferCount, int compactBufferCount, int stateCount, int patternCount, int eigenBufferCount, int matrixBufferCount, int categoryCount, int scaleBufferCount, int resourceNumber, long preferenceFlags, long requirementFlags)=0\
 virtual int **getInstanceDetails** (**BeagleInstanceDetails** \*returnInfo)=0\
 virtual int **setTipStates** (int tipIndex, const int \*inStates)=0\
 virtual int **setTipPartials** (int tipIndex, const double \*inPartials)=0\
 virtual int **setPartials** (int bufferIndex, const double \*inPartials)=0\
 virtual int **getPartials** (int bufferIndex, int scaleIndex, double \*outPartials)=0\
 virtual int **setEigenDecomposition** (int eigenIndex, const double \*inEigenVectors, const double \*inInverseEigenVectors, const double \*inEigenValues)=0\
 virtual int **setStateFrequencies** (int stateFrequenciesIndex, const double \*inStateFrequencies)=0\
 virtual int **setCategoryWeights** (int categoryWeightsIndex, const double \*inCategoryWeights)=0\
 virtual int **setPatternWeights** (const double \*inPatternWeights)=0\
 virtual int **setCategoryRates** (const double \*inCategoryRates)=0\
 virtual int **setTransitionMatrix** (int matrixIndex, const double \*inMatrix, double paddedValue)=0\
 virtual int **setTransitionMatrices** (const int \*matrixIndices, const double \*inMatrices, const double \*paddedValues, int count)=0\
 virtual int **getTransitionMatrix** (int matrixIndex, double \*outMatrix)=0\
 virtual int **updateTransitionMatrices** (int eigenIndex, const int \*probabilityIndices, const int \*firstDerivativeIndices, const int \*secondDerivativeIndices, const double \*edgeLengths, int count)=0\
 virtual int **updatePartials** (const int \*operations, int operationCount, int cumulativeScalingIndex)=0\
 virtual int **waitForPartials** (const int \*destinationPartials, int destinationPartialsCount)=0\
 virtual int **accumulateScaleFactors** (const int \*scalingIndices, int count, int cumulativeScalingIndex)=0\
 virtual int **removeScaleFactors** (const int \*scalingIndices, int count, int cumulativeScalingIndex)=0\
 virtual int **resetScaleFactors** (int cumulativeScalingIndex)=0\
 virtual int **copyScaleFactors** (int destScalingIndex, int srcScalingIndex)=0\
 virtual int **calculateRootLogLikelihoods** (const int \*bufferIndices, const int \*categoryWeightsIndices, const int \*stateFrequenciesIndices, const int \*scalingFactorsIndices, int count, double \*outSumLogLikelihood)=0\
 virtual 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 \*scalingFactorsIndices, int count, double \*outSumLogLikelihood, double \*outSumFirstDerivative, double \*outSumSecondDerivative)=0\
 virtual int **getSiteLogLikelihoods** (double \*outLogLikelihoods)=0\
 virtual int **getSiteDerivatives** (double \*outFirstDerivatives, double \*outSecondDerivatives)=0\

### Public Attributes

int **resourceNumber**\

## Author

Generated automatically by Doxygen for HMSBEAGLE from the source code.
