Cython extension: working setup

This commit is contained in:
2021-01-26 11:25:25 +01:00
parent d9d317d6a5
commit f1dedc2467
6 changed files with 147 additions and 131 deletions

View File

@@ -1,17 +1,18 @@
# distutils: language = c++
from tdm_reaper cimport tdmreaper
import numpy as np
import re
import os
from tdm_reaper cimport tdm_reaper
# import numpy as np
# import re
# import os
cdef class tdm_reaper:
cdef class tdmreaper:
# C++ instance of class => stack allocated (requires nullary constructor!)
cdef tdm_reaper tdmrip
cdef tdm_reaper cpp_tdm
# constructor
def __cinit__(self):
self.tdmrip = tdm_reaper()
def __cinit__(self, string tdmfile, string tdxfile):
self.cpp_tdm = tdm_reaper(tdmfile,tdxfile)
# def set_file(self, string rawfile):
# if not os.path.isfile(rawfile) :

View File

@@ -4,7 +4,7 @@ from Cython.Build import cythonize
extensions = Extension(
name="tdm_reaper",
sources=["cython/tdm_reaper.pyx"],
sources=["cython/py_tdm_reaper.pyx"],
# libraries=[""],
# library_dirs=["lib"],
include_dirs=["lib","pugixml"],

View File

@@ -1,15 +1,18 @@
# cython: language_level = 3
# distutils: language = c++
# use some C++ STL libraries
from libcpp.string cimport string
from libcpp.vector cimport vector
from libcpp cimport bool
# from libcpp.vector cimport vector
# from libcpp cimport bool
cdef extern from "tdm_reaper.cpp":
pass
cdef extern from "tdm_reaper.hpp":
cdef cppclass tdmreaper:
# constructor(s)
tdmreaper() except +
cdef cppclass tdm_reaper:
# constructor(s)
tdm_reaper() except +
tdm_reaper(string tdmfile, string tdxfile) except +
# set new file for decoding
# void set_file(string)
# # perform conversion (pass any C++ exceptions to Python)