/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class dr_evomodel_newtreelikelihood_NativeLikelihoodCore */

#ifndef _Included_dr_evomodel_newtreelikelihood_NativeLikelihoodCore
#define _Included_dr_evomodel_newtreelikelihood_NativeLikelihoodCore
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    initialize
 * Signature: (IIII)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_initialize
  (JNIEnv *, jobject, jint, jint, jint, jint);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    freeNativeMemory
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_freeNativeMemory
  (JNIEnv *, jobject);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    setTipPartials
 * Signature: (I[D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_setTipPartials
  (JNIEnv *, jobject, jint, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    setTipStates
 * Signature: (I[I)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_setTipStates
  (JNIEnv *, jobject , jint, jintArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updateRootFrequencies
 * Signature: ([D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updateRootFrequencies
  (JNIEnv *, jobject, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updateEigenDecomposition
 * Signature: ([[D[[D[D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updateEigenDecomposition
  (JNIEnv *, jobject, jobjectArray, jobjectArray, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updateCategoryRates
 * Signature: ([D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updateCategoryRates
  (JNIEnv *, jobject, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updateCategoryProportions
 * Signature: ([D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updateCategoryProportions
  (JNIEnv *, jobject, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updateMatrices
 * Signature: ([I[DI)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updateMatrices
  (JNIEnv *, jobject, jintArray, jdoubleArray, jint);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    updatePartials
 * Signature: ([I[II)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_updatePartials
  (JNIEnv *, jobject, jintArray, jintArray, jint);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    calculateLogLikelihoods
 * Signature: (I[D)V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_calculateLogLikelihoods
  (JNIEnv *, jobject, jint, jdoubleArray);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    storeState
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_storeState
  (JNIEnv *, jobject);

/*
 * Class:     dr_evomodel_newtreelikelihood_NativeLikelihoodCore
 * Method:    restoreState
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_dr_evomodel_newtreelikelihood_NativeLikelihoodCore_restoreState
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
