text: /* DO NOT EDIT THIS FILE - it is machine generated */
  #include <jni.h>
  /* Header for class dr_evomodel_operators_NativeZigZag */
  
  #ifndef _Included_dr_evomodel_operators_NativeZigZag
  #define _Included_dr_evomodel_operators_NativeZigZag
  #ifdef __cplusplus
  extern "C" {
  #endif
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    create
   * Signature: (ILdr/evomodel/operators/NativeZigZagOptions;[D[D)I
   */
  JNIEXPORT jint JNICALL Java_dr_evomodel_operators_NativeZigZag_create
    (JNIEnv *, jobject, jint, jobject, jdoubleArray, jdoubleArray, jdoubleArray);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    operate
   * Signature: (ILdr/inference/hmc/PrecisionColumnProvider;[D[D[D[D[DD)I
   */
  JNIEXPORT jint JNICALL Java_dr_evomodel_operators_NativeZigZag_operate
    (JNIEnv *, jobject, jint, jobject, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdouble);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    getNextEvent
   * Signature: (I[D[D[D[D[D)Ldr/inference/operators/hmc/MinimumTravelInformationBinary;
   */
  JNIEXPORT jobject JNICALL Java_dr_evomodel_operators_NativeZigZag_getNextEvent
    (JNIEnv *, jobject, jint, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    enterCriticalRegion
   * Signature: (I[D[D[D[D[D)I
   */
  JNIEXPORT jint JNICALL Java_dr_evomodel_operators_NativeZigZag_enterCriticalRegion
    (JNIEnv *, jobject, jint, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    exitCriticalRegion
   * Signature: (I)I
   */
  JNIEXPORT jint JNICALL Java_dr_evomodel_operators_NativeZigZag_exitCriticalRegion
    (JNIEnv *, jobject, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    inCriticalRegion
   * Signature: (I)Z
   */
  JNIEXPORT jboolean JNICALL Java_dr_evomodel_operators_NativeZigZag_inCriticalRegion
    (JNIEnv *, jobject, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    getNextEventInCriticalRegion
   * Signature: (I)Ldr/inference/operators/hmc/MinimumTravelInformationBinary;
   */
  JNIEXPORT jobject JNICALL Java_dr_evomodel_operators_NativeZigZag_getNextEventInCriticalRegion
    (JNIEnv *, jobject, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    innerBounce
   * Signature: (I[D[D[D[D[DDII)V
   */
  JNIEXPORT void JNICALL Java_dr_evomodel_operators_NativeZigZag_innerBounce
    (JNIEnv *, jobject, jint, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdouble, jint, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    innerBounceCriticalRegion
   * Signature: (IDII)V
   */
  JNIEXPORT void JNICALL Java_dr_evomodel_operators_NativeZigZag_innerBounceCriticalRegion
    (JNIEnv *, jobject, jint, jdouble, jint, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    updateDynamics
   * Signature: (I[D[D[D[D[D[DDII)V
   */
  JNIEXPORT void JNICALL Java_dr_evomodel_operators_NativeZigZag_updateDynamics
    (JNIEnv *, jobject, jint, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray, jdouble, jint, jint);
  
  /*
   * Class:     dr_evomodel_operators_NativeZigZag
   * Method:    getNextEventIrreversible
   * Signature: (I[D[D[D[D)Ldr/inference/operators/hmc/MinimumTravelInformationBinary;
   */
  JNIEXPORT jobject JNICALL Java_dr_evomodel_operators_NativeZigZag_getNextEventIrreversible
    (JNIEnv *, jobject, jint, jdoubleArray, jdoubleArray, jdoubleArray, jdoubleArray);
  
  #ifdef __cplusplus
  }
  #endif
  #endif
  