【Python和/或C/C++中的高精度算术?】教程文章相关的互联网学习教程文章

Python和/或C/C++中的高精度算术?【代码】

摘要:哪种Python包或C-Library是高精度算术运算的最佳选择? 我有一些函数可以将小数天(0.0-0.99999 ..)转换为人类可读的格式(小时,分钟,秒;但更重要的是:毫秒,微秒,纳秒). 转换由以下功能完成:(请注意,我还没有实施时区修正)d = lambda x: decimal.Decimal(str(x)) cdef object fractional2hms(double fractional, double timezone):cdef object total, hms, ms_multcdef int ihms = [0,0,0,0,0,0]ms_mult = (d(3600000000000)...

python -c malloc数组指针在cython中返回【代码】

如何有效地将cython中的malloc数组指针(或numpy数组指针)返回到python3. 只要我不返回数组指针,cython代码就可以正常工作 我想要:def double complex* randn_zig(int n):...r = malloc(n*n*sizeof(double complex))...return rc11(gcc 11)等价物是:double complex* randn_zig(int n){r = malloc(n*n*sizeof(double complex))return r }我努力了< double complex *> randn_zig(int n): 和randn_zig(< double complex *> r,int n)...

我应该在Python C Extension中将Py_INCREF和Py_DECREF放在哪个块上?【代码】

每当我调用我的函数时,每个调用的内存使用量增加大约10M,所以我认为这里有一些内存泄漏..... PyObject *pair = PyTuple_New(2), *item = PyList_New(0);PyTuple_SetItem(pair, 0, PyInt_FromLong(v[j]));if(v[j] != DISTANCE_MAX && (p[j] || d[0][j])){jp=j;while(jp!=istart) {PyList_Append(item, PyInt_FromLong(jp));jp=p[jp];}PyList_Append(item, PyInt_FromLong(jp));PyList_Reverse(item); }PyTuple_SetItem(pair, 1, ite...

Python C扩展:文档的方法签名?【代码】

我正在编写C扩展,我想让我的方法的签名可见为内省.static PyObject* foo(PyObject *self, PyObject *args) {/* blabla [...] */}PyDoc_STRVAR(foo_doc,"Great example function\n""Arguments: (timeout, flags=None)\n""Doc blahblah doc doc doc.");static PyMethodDef methods[] = {{"foo", foo, METH_VARARGS, foo_doc},{NULL}, };PyMODINIT_FUNC init_myexample(void) {(void) Py_InitModule3("_myexample", methods, "a simpl...

将str作为int数组传递给Python C扩展函数(使用SWIG扩展)【代码】

如何将使用python代码获得的str值(包含3000 {‘0′,’1’}字节)作为参数传递给python c扩展函数(使用SWIG扩展),这需要int *(固定长度int数组)as输入参数?我的代码是这样的:int *exposekey(int *bits) {int a[1000];for (int j=2000; j < 3000; j++) {a[j - 2000] = bits[j];}return a; }我试过的是使用ctypes(见下面的代码):import ctypes ldpc = ctypes.cdll.LoadLibrary('./_ldpc.so') arr = (ctypes.c_int * 3072)(<mentione...

python – C中的一个足够大的problemSize需要0运行时间【代码】

这段代码用于演示算法的复杂性和测量算法的运行时间来自一本书FUNDAMENTALS OF PYTHON: FROM FIRST PROGRAMS THROUGH DATA STRUCTURES""" File: timing1.py Prints the running times for problem sizes that double, using a single loop. """import timeproblemSize = 10000000 print "%12s%16s" % ("Problem Size", "Seconds") for count in xrange(5):start = time.time()# The start of the algorithmwork = 1for x in xrange...

c – 为什么Python / C API在PyRun_SimpleFile上崩溃?【代码】

我一直在尝试在C应用程序中嵌入不同的脚本语言,目前我正在尝试Stackless Python 3.1.我已经尝试了几个教程和示例,我可以找到的很少,尝试从应用程序运行一个简单的脚本.Py_Initialize();FILE* PythonScriptFile = fopen("Python Scripts/Test.py", "r"); if(PythonScriptFile) {PyRun_SimpleFile(PythonScriptFile, "Python Scripts/Test.py");fclose(PythonScriptFile); }Py_Finalize();出于某些奇怪的原因,运行此代码会导致访问冲...

类似Python的C装饰器【代码】

有没有办法在C语言中装饰C语言中的函数或方法?@decorator def decorated(self, *args, **kwargs):pass以宏为例:DECORATE(decorator_method) int decorated(int a, float b = 0) {return 0; }要么DECORATOR_MACRO void decorated(mytype& a, mytype2* b) { }可能吗?解决方法:std::function为我提出的解决方案提供了大部分构建块. 这是我提出的解决方案.#include <iostream> #include <functional>//----------------------------...

Python与C/C++相互调用(python2 调c++那个试了ok)【代码】【图】

一、问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结。 二、Python调用C/C++1、Python调用C动态链接库 Python调用C库比较简单,不经过任何封装打包成so,再使用python的ctypes调用即可。(1)C语言文件:pycall.c/***gcc -o libpycall.so -shared -fPIC pycall.c*/ #include <stdio.h> #include <stdlib.h> int foo(int a, int b) { printf("you input %d and %d\n", a, b...

在Python或C中单声道播放Mp3s

我使用pyqt在python中编码music player,我希望它具有mp3文件的单声道播放功能. 我已经完成了使用pygame,因为它的混音器有一个特定的参数通道,我可以设置为1以获得单声道播放. 但是,pygame mp3 support is limited,所以我正在寻找一个能够处理mp3文件和单声道播放的库. 目前,我正在使用pyaudiere进行播放,在site上有一个在播放之前处理歌曲的例子,所以也许我可以将歌曲转换为单声道,但我真的不知道如何实现这一点. 我想了解如何使用...

python – 从c执行.py文件【代码】

我正在和c一起工作.我需要用条件执行python脚本int main() {if(op==1){RUN("MUL.py"); // execute MUL.py script}else{RUN("DIV.py"); // execute DIV.py script}return 0; }我可以这样做:Py_Initialize(); PyRun_SimpleString(code); Py_Finalize();在这里,我必须做一个字符串.然后我需要跑. 但是,我不想这样做.我已经有了一个.py文件.我需要运行该文件. 类似于:py_run(MUL.py) 我的python代码将为我做一些大的计算.这将把答案写...

结构w /位字段:CPython和C填充不同【代码】

考虑以下程序:#include <stddef.h> #include <stdio.h>typedef struct {unsigned bit:1;unsigned char str[8]; } test;#pragma pack(1) typedef struct {unsigned bit:1;unsigned char str[8]; } test_pack;int main(int argc, char **argv) {printf("%3lu str offset\n", offsetof(test, str));printf("%3lu total\n", sizeof(test));printf("%3lu str_pack offset\n", offsetof(test_pack, str));printf("%3l...

使用boost :: python从C创建python collections.namedtuple【代码】

我想从boost :: python包装函数返回collections.namedtuple列表,但我不知道如何从C代码创建这些对象.对于其他一些类型,有一个方便的包装器(例如dict),这使得这很简单,但是对于namedtuple来说并不存在.做这个的最好方式是什么? dict列表的现有代码:namespace py = boost::python;struct cacheWrap {...py::list getSources() {py::list result;for (auto& src : srcCache) { // srcCache is a C++ vector// {{{ --> Want to use ...

python – C中的高效数组查找

我正在尝试用C中的自定义语言编写一个简单的语言解释器.由于C的简单性,我想使用C over C. 我不确定如何在C中做的事情是存储变量和变量查找. 我打算将变量存储在一个数组中,但我想我需要一个可变大小的数组. 除了循环遍历数组之外,我也不知道从数组中查找变量的有效方法. 所以我想知道,创建可变大小数组的有效方法是什么? Python或Ruby或Go如何有效地存储和检索变量?解决方法:How does Python or Ruby or Go store and retrieve v...

Python C扩展中的继承【代码】

我有c库需要与插入模块的Python进行通信.通信假设通过Python实现一些回调c接口. 我已经阅读过有关编写扩展的内容,但不知道如何开发继承. 所以关于:C :class Broadcast {void set(Listener *){... }class Listener {void notify(Broadcast* owner) = 0; }我需要像Python这样的东西:class ListenerImpl(Listener):...def notify(self, owner):...注意,我不想使用Boost.解决方法:在PEP 253中解释了用C语言编写可继承的Python类型....