import numpy as np cimport numpy as np from libcpp cimport bool DEF ASCEE_FLOAT = "@ASCEE_FLOAT@" IF ASCEE_FLOAT == "double": ctypedef double d ctypedef double complex c NUMPY_FLOAT_TYPE = np.float64 NUMPY_COMPLEX_TYPE = np.complex128 CYTHON_NUMPY_FLOAT_t = np.NPY_FLOAT64 CYTHON_NUMPY_COMPLEX_t = np.NPY_COMPLEX128 ELSE: ctypedef float d ctypedef float complex c NUMPY_FLOAT_TYPE = np.float32 NUMPY_COMPLEX_TYPE = np.complex64 CYTHON_NUMPY_FLOAT_t = np.NPY_FLOAT32 CYTHON_NUMPY_COMPLEX_t = np.NPY_COMPLEX64 ctypedef size_t us cdef extern from "ascee_tracer.h": void setTracerLevel(int) void TRACE(int,const char*) void fsTRACE(int) void feTRACE(int) cdef extern from "ascee_math.h": ctypedef struct dmat: us n_cols us n_rows d* _data bint _foreign_data ctypedef struct cmat: pass ctypedef struct vd: pass ctypedef struct vc: pass dmat dmat_foreign(us n_rows, us n_cols, d* data) cmat cmat_foreign(us n_rows, us n_cols, c* data) cmat cmat_alloc(us n_rows,us n_cols) dmat dmat_alloc(us n_rows,us n_cols) void dmat_free(dmat*) void cmat_free(cmat*) void cmat_copy(cmat* to,cmat* from_) cdef extern from "ascee_tracer.h": void clearScreen()