initialize cython interface for tdm_reaper
This commit is contained in:
parent
529b80f4f9
commit
1ec81cafe6
@ -3,17 +3,17 @@ from distutils.extension import Extension
|
||||
from Cython.Build import cythonize
|
||||
|
||||
extensions = Extension(
|
||||
name="tdm_ripper",
|
||||
sources=["pytdm_ripper.pyx"],
|
||||
name="tdm_reaper",
|
||||
sources=["cython/tdm_reaper.pyx"],
|
||||
# libraries=[""],
|
||||
library_dirs=["lib"],
|
||||
include_dirs=["lib"],
|
||||
language='c++',
|
||||
extra_compile_args=['-std=c++11','-Wno-unused-variable'],
|
||||
extra_link_args=['-std=c++11'],
|
||||
extra_compile_args=['-std=c++17','-Wno-unused-variable'],
|
||||
extra_link_args=['-std=c++17'],
|
||||
)
|
||||
|
||||
setup(
|
||||
name="tdm_ripper",
|
||||
name="tdm_reaper",
|
||||
ext_modules=cythonize(extensions)
|
||||
)
|
||||
|
29
cython/tdm_reaper.pxd
Normal file
29
cython/tdm_reaper.pxd
Normal file
@ -0,0 +1,29 @@
|
||||
# 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
|
||||
|
||||
cdef extern from "../lib/tdm_reaper.hpp":
|
||||
cdef cppclass raw_eater:
|
||||
# constructor(s)
|
||||
raw_eater() except +
|
||||
# set new file for decoding
|
||||
# void set_file(string)
|
||||
# # perform conversion (pass any C++ exceptions to Python)
|
||||
# void setup_and_conversion() except +
|
||||
# # get validity of data format
|
||||
# bool get_valid()
|
||||
# # get channel name and unit
|
||||
# string get_name()
|
||||
# string get_unit()
|
||||
# # get time step and time unit
|
||||
# double get_dt()
|
||||
# string get_temp_unit()
|
||||
# # get data array of time and measured quantity's channel
|
||||
# vector[double] get_time()
|
||||
# vector[double] get_data()
|
||||
# # dump all data to .csv
|
||||
# void write_table(const char*,char delimiter)
|
46
cython/tdm_reaper.pyx
Normal file
46
cython/tdm_reaper.pyx
Normal file
@ -0,0 +1,46 @@
|
||||
|
||||
from tdm_reaper cimport tdmreaper
|
||||
import numpy as np
|
||||
import re
|
||||
import os
|
||||
|
||||
cdef class tdmripper:
|
||||
|
||||
# C++ instance of class => stack allocated (requires nullary constructor!)
|
||||
cdef tdm_reaper tdminst
|
||||
|
||||
# constructor
|
||||
def __cinit__(self):
|
||||
self.tdminst = tdm_reaper()
|
||||
|
||||
# def set_file(self, string rawfile):
|
||||
# if not os.path.isfile(rawfile) :
|
||||
# raise ValueError("'" + str(rawfile) + "' does not exist")
|
||||
# self.rawit.set_file(rawfile)
|
||||
#
|
||||
# def do_conversion(self):
|
||||
# self.rawit.setup_and_conversion()
|
||||
#
|
||||
# def validity(self):
|
||||
# return self.rawit.get_valid()
|
||||
#
|
||||
# def channel_name(self):
|
||||
# return self.rawit.get_name()
|
||||
#
|
||||
# def unit(self):
|
||||
# return self.rawit.get_unit()
|
||||
#
|
||||
# def dt(self):
|
||||
# return self.rawit.get_dt()
|
||||
#
|
||||
# def time_unit(self):
|
||||
# return self.rawit.get_temp_unit()
|
||||
#
|
||||
# def get_time(self):
|
||||
# return self.rawit.get_time()
|
||||
#
|
||||
# def get_channel(self):
|
||||
# return self.rawit.get_data()
|
||||
#
|
||||
# def write_table(self, const char* csvfile, char delimiter):
|
||||
# self.rawit.write_table(csvfile,delimiter)
|
Loading…
x
Reference in New Issue
Block a user