initialize new cython module raw_meat
This commit is contained in:
29
cyt/raw_eater.pxd
Normal file
29
cyt/raw_eater.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 "raweat.hpp":
|
||||
# pass
|
||||
|
||||
# these method names have to match the C definitions of the methods!!
|
||||
|
||||
cdef extern from "../lib/raweat.hpp":
|
||||
cdef cppclass raw_eater:
|
||||
raw_eater(string) 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)
|
39
cyt/raw_eater.pyx
Normal file
39
cyt/raw_eater.pyx
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
from raw_eater cimport raweater
|
||||
import numpy as np
|
||||
import re
|
||||
|
||||
cdef class raweater:
|
||||
|
||||
# pointer to C++ instance (since there's no nullary constructor)
|
||||
cdef raw_eater *rawit
|
||||
|
||||
def __cinit__(self, string rawfile):
|
||||
self.rawit = new raw_eater(rawfile)
|
||||
|
||||
def __dealloc__(self):
|
||||
del self.rawit
|
||||
|
||||
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):
|
||||
return self.rawit.write_table(csvfile,delimiter)
|
27
cyt/raw_meat.pxd
Normal file
27
cyt/raw_meat.pxd
Normal file
@@ -0,0 +1,27 @@
|
||||
# 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
|
||||
|
||||
# these method names have to match the C++ definitions of the methods!!
|
||||
cdef extern from "../lib/rawmerge.hpp":
|
||||
cdef cppclass raw_merger:
|
||||
raw_merger(string) 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)
|
||||
# add channel and try to merge it
|
||||
bool add_channel(string)
|
43
cyt/raw_meat.pyx
Normal file
43
cyt/raw_meat.pyx
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
# from <raw_meat> has to match name of .pxd file and cimport name of class defined in .pxd
|
||||
from raw_meat cimport raw_merger
|
||||
import numpy as np
|
||||
import re
|
||||
|
||||
cdef class rawmerger:
|
||||
|
||||
# pointer to C++ instance (since there's no nullary constructor)
|
||||
cdef raw_merger *rawit
|
||||
|
||||
def __cinit__(self, string rawfile):
|
||||
self.rawit = new raw_merger(rawfile)
|
||||
|
||||
def __dealloc__(self):
|
||||
del self.rawit
|
||||
|
||||
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):
|
||||
return self.rawit.write_table(csvfile,delimiter)
|
||||
|
||||
def add_channel(self, string rawfile):
|
||||
return self.rawit.add_channel(rawfile)
|
Reference in New Issue
Block a user