cython相关内容
来自libcpp.algorithm cimport排序为stdsort 来自libcpp.algorithm cimport唯一 来自libcpp.vector cimport vector #来自libcpp cimport bool cimport cython @ cython.boundscheck(False) @ cython.wraparound(False)
..
我已经成功地使用Cython将numpy数组发送到c函数。每当我在c中使用 int * 的函数并且在python中有一些变量时,将其称为 arr ,是一维numpy数组,我只需使用& arr [0] 调用该函数即可。 现在,我有兴趣接收使用c函数创建的2D数组。我怎样才能做到这一点?以下是我尝试过的操作。 //这是返回2D数组 int的C代码* * make_array(){ i
..
我有以下有效的代码: %% cython cdef int add( int a,int b): 返回a + b cdef int mult(int a,int b): 返回a * b ctypedef int(* function_type)(int a,int b) cdef int lambda_c(function_type func,int c,in
..
C语言的源代码如下: typedef wchar_t char_t; typedef const char_t * const_string_t; static const_string_t g_symbols [] = {{L“ IBM”},{L“ MSFT”},{L“ YHOO”},{L“ C”}}; ... some_c_func(g_symbols) ...
..
Cython的文档似乎是对如何包装用户定义的转换保持沉默。 例如,以下c ++代码显示 1 (即 true ,在此处直播): #include 结构X { 运算符bool()const {return true;} }; int main(){ X x; std :: cout
..
我在cdef对象中具有以下cython代码: def __getstate __(self): cdef char * bp cdef size_t大小 cdef cn.FILE *流 流= cn.open_memstream(& bp,& size) cn.write_padded_binary(self.im,self.n,256,stream) cn.fflu
..
有时候,当我在IPython笔记本中运行%% cython-cell时,我会得到很长的回溯,并以非常短的错误消息结尾: CompileError:命令'gcc'失败,退出状态为1 或 LinkError:命令'gcc'失败,退出状态为1 Windows ,相应的消息是: CompileError:命令'C:.\Microsoft Visual Studio\..\ c
..
我有一个带有字节及其大小的数组: cdef char * bp cdef size_t size 如何将数组读入Python字节数组(或其他易于腌制的适当结构)? / p> 解决方案 三种相当简单的方法: 使用我在注释中建议的适当的C API函数: from cpython.bytes cimport PyBytes_FromSt
..
免责声明::我从 Python食谱(O'Reilly)中获得了以下示例。 说我有以下简单的 struct : typedef结构{ double x,y; }点; 具有计算两个 Point s: 外部双倍距离(点* p1,点* p2); 所有这些都是名为 points : points.h -头文件 poi
..
我试图在Cython中使用C结构,该结构定义一个链表: typedef结构{ struct query_result * next_result; char *结果; } query_result; 如您所见,我正在使用自己定义中的query_result类型。 照此使用,在Cython中会给我带来编译器错误: cdef从'c_wrapper.h'中的
..
我希望我的cython程序在Linux上是独立的可执行文件,而不是导入的。 cython --embed 之后我有一个ac文件,现在如何使它可执行? 解决方案 我想您必须编译 .c 文件。 假设您使用的是python 3.5,并且不必链接到python以外的其他库,则可以使用简单的 gcc 命令执行此操作,例如: gcc -I / usr / include /
..
我正在尝试在cython中编写一个函数,该函数应该从python接收一个list参数,方法是通过在C / C ++中生成它的2D数组,然后以2D列表的形式返回给python,从而以某种方式对其进行操作。我简化了代码,问了我的问题: 我希望 c_Func 可以执行无需编译的过程错误。第二个函数是可调用函数,但显然不起作用。首先,我必须处理不能用 double * 替换列表的问题,其次是 py_
..
我想使用由 python 中的 c 函数创建的2D数组。我问今天之前如何做,@ Abhijit Pritam建议的一种方法是使用结构。我实现了它,并且确实起作用。 c代码: typedef struct { int arr [3] [5]; }数组; 数组make_array_struct(){ 数组my_array; int计数= 0; for(int i = 0
..
能否将 cdef Cython函数从Python脚本传递给另一个(python def )Cython函数? / p> 最小示例: test_module.pyx cpdef min_arg(f,int N): cdef double x = 100000. cdef int best_i = -1 $ i在范围(N)中的b $ b:如果f(i)
..
我从 Pyrobuf 页的序列化速度比通过 struct.pack 快3倍: def ser2(): cdef int x = 42 return(& x)[:sizeof(int)] 我想知道如何才能处理一组整数。 我看到cython具有 int [:] 和 array.array 类型,但是我仍然没有了解如何使用整数列表,并通过 struct.p
..
我的setup.py是:从distutils.core导入 从distutils.extension导入扩展名 来自Cython的b $ b.build import cythonize import numpy as np extensions = [ Extension('_ hmmc',['_hmmc.pyx'],include_dirs = [np .get_inclu
..
我正在使用Cython将C库包装到Pyhon 3,并且我正在寻找一种将wchar_t字符串转换为要从函数返回的python对象的方法。在此问题中有一个答案,但是它涉及将字符串编码为多字节str,然后将其解码回unicode。我希望有更直接的解决方案。我尝试从Python C API使用 PyUnicode_FromWideChar ,但是我我遇到了段错误。这是我的.pyx代码: 来自cpyt
..
我在python中写了一些小代码,例如两个数字的加法。 addition.py def add(a ,b): c = a + b 打印“结果是...”,c mainpgm.c ??? 如何在C(mainpgm)程序中调用add.py/add函数。 我已经看到了一些链接,但我不清楚。 任何建议在c中调用该函数。 解决方案 阅
..
bullet.pxd: cdef extern来自“ bullet / LinearMath / btVector3.h”: cdef cppclass btVector3: btVector3(float,float,float)除外+ btVector3运算符+(const btVector3& ;, const btVector3&) btmath.p
..
我的目录结构如下: / my_module 初始化 .py A / __init__.py a.pyx B / __init__.py b.pyx 在b.pyx中,我想从Aa导入函数 常规的python导入有效,但是cimport总是失败。 此外,由于无法确定A /和B /,所以我分别编译A /和
..