/* Generated by Cython 0.29.34 */

#ifndef __PYX_HAVE__gomea__fitness
#define __PYX_HAVE__gomea__fitness

#include "Python.h"

#ifndef __PYX_HAVE_API__gomea__fitness

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#ifndef DL_IMPORT
  #define DL_IMPORT(_T) _T
#endif

__PYX_EXTERN_C double gomea_pyfitness_subfunction_realvalued(PyObject *, int, std::vector<double>  &);
__PYX_EXTERN_C double gomea_pyfitness_subfunction_discrete(PyObject *, int, std::vector<char>  &);
__PYX_EXTERN_C double gomea_pyfitness_objective_function_gbo(PyObject *, int, std::vector<double>  &);
__PYX_EXTERN_C double gomea_pyfitness_constraint_function_gbo(PyObject *, std::vector<double>  &);
__PYX_EXTERN_C double gomea_pyfitness_objective_function_bbo_discrete(PyObject *, int, std::vector<char>  &);
__PYX_EXTERN_C double gomea_pyfitness_objective_function_bbo_realvalued(PyObject *, int, std::vector<double>  &);
__PYX_EXTERN_C double gomea_pyfitness_constraint_function_bbo_discrete(PyObject *, std::vector<char>  &);
__PYX_EXTERN_C double gomea_pyfitness_constraint_function_bbo_realvalued(PyObject *, std::vector<double>  &);
__PYX_EXTERN_C std::vector<int>  gomea_pyfitness_inputsToSubfunction(PyObject *, int);
__PYX_EXTERN_C int gomea_pyfitness_index_of_fitness_buffer(PyObject *, int);
__PYX_EXTERN_C int gomea_pyfitness_number_of_fitness_buffers(PyObject *);
__PYX_EXTERN_C int gomea_pyfitness_numberOfSubfunctions(PyObject *);
__PYX_EXTERN_C double gomea_pyfitness_similarity_measure(PyObject *, size_t, size_t);

#endif /* !__PYX_HAVE_API__gomea__fitness */

/* WARNING: the interface of the module init function changed in CPython 3.5. */
/* It now returns a PyModuleDef instance instead of a PyModule instance. */

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initfitness(void);
#else
PyMODINIT_FUNC PyInit_fitness(void);
#endif

#endif /* !__PYX_HAVE__gomea__fitness */
