将 stdint 与 swig 和 numpy.i 一起使用

2023-12-19

我正在开发一个模块来使用c inline在Python代码中基于swig。 为此我想做numpy数组可访问于C。到目前为止我使用的 C 类型如下unsigned short但我想使用类似的类型uint16_t from stdint.h保存我的模块遇到的任何编译器。

不幸的是c++- 使用时函数无法正确包装stdint.h类型。给出的错误是:_setc() takes exactly 2 arguments (1 given)。这意味着,该函数没有被包装来接受numpy数组。当我使用例如时,不会发生错误unsigned short.

你有什么想法吗,我如何制作大口地图numpy数组到stdint-types?

interface.i不工作:

/* interface.i */
extern int __g();
%}
%include "stdint.i"
%include "numpy.i"

%init %{
import_array();
%}
%apply (uint16_t* INPLACE_ARRAY3, int DIM1) {(uint16_t* seq, int n1)};
extern int __g();

c++功能不工作:

#include "Python.h"
#include <stdio.h>
#include <stdint.h>
extern uint16_t* c;
extern int Dc;
extern int Nc[4];
void _setc(uint16_t *seq, int n1, int n2, int n3)
{
    c = seq;
    Nc[0] = n1;
    Nc[1] = n2;
    Nc[2] = n3;
}

interface.i在职的:

/* interface.i */
extern int __g();
%}
%include "stdint.i"
%include "numpy.i"

%init %{
import_array();
%}
%apply (unsigned short* INPLACE_ARRAY3, int DIM1) {(unsigned short* seq, int n1)};
extern int __g();

c++功能工作:

#include "Python.h"
#include <stdio.h>
#include <stdint.h>
extern unsigned short* c;
extern int Dc;
extern int Nc[4];
void _setc(unsigned short *seq, int n1, int n2, int n3)
{
    c = seq;
    Nc[0] = n1;
    Nc[1] = n2;
    Nc[2] = n3;
}

哈哈,在我放弃并发布这个问题几分钟后,我找到了一些“解决方案”。

我编辑了numpy.i适合我的事业: 我替换了旧的C类型与stdint.h在第 3044 行 ff 中输入:

[..]
/* Concrete instances of the %numpy_typemaps() macro: Each invocation
 * below applies all of the typemaps above to the specified data type.
 */
%numpy_typemaps(int8_t       , NPY_BYTE     , int)
%numpy_typemaps(uint8_t     , NPY_UBYTE    , int)
%numpy_typemaps(int16_t             , NPY_SHORT    , int)
%numpy_typemaps(uint16_t    , NPY_USHORT   , int)
%numpy_typemaps(int32_t               , NPY_INT      , int)
%numpy_typemaps(uint32_t      , NPY_UINT     , int)
%numpy_typemaps(long              , NPY_LONG     , int)
%numpy_typemaps(unsigned long     , NPY_ULONG    , int)
%numpy_typemaps(int64_t         , NPY_LONGLONG , int)
%numpy_typemaps(uint64_t, NPY_ULONGLONG, int)
%numpy_typemaps(float             , NPY_FLOAT    , int)
%numpy_typemaps(double            , NPY_DOUBLE   , int)
[..]

我想知道是否有人有比编辑更好的主意numpy.i

干杯 约亨

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 stdint 与 swig 和 numpy.i 一起使用 的相关文章

  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 类型错误:预期单个张量时的张量列表 - 将 const 与 tf.random_normal 一起使用时

    我有以下 TensorFlow 代码 tf constant tf random normal time step batch size 1 1 我正进入 状态TypeError List of Tensors when single Te
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • php中逗号分隔的列表

    我正在尝试建立一个用逗号分隔的列表 应该如下所示 绿色 橙色 红色 i 0 taxonomy form state values taxonomy 5 foreach taxonomy as key gt value result db q
  • Java中如何打印Statement(CallableStatement)?

    如何打印此 OracleCallableStatement ocstmt OracleCallableStatement connection prepareCall call package method id gt name gt oc
  • 如何抑制CatBoost迭代结果?

    我正在尝试使用 CatBoost 来拟合二进制模型 当我使用下面的代码时 我想verbose False可以帮助抑制迭代日志 但事实并非如此 有没有办法避免打印迭代 model CatBoostClassifier iterations 3
  • 动态更改数据模板

    我有一个绑定到任务的项目控件 每个任务都有任务状态 我为每个任务状态定义了不同的数据模板 以及数据模板选择器 问题是我无法弄清楚当任务状态动态更改时如何触发数据模板选择器 我想知道如何将数据触发器与数据模板一起使用 如果这不起作用 我将探索
  • 我如何使用 javascript/jquery 知道给定字符串是 hex、rgb、rgba 或 hsl 颜色?

    我使用正则表达式来表示十六进制 a fA F0 9 6 a fA F0 9 3 但我不知道我应该做什么来找到 rgb rgba 和 hsl 我正在以字符串形式获取输入 例如 输入将包含 rgb 0 0 0 或 rgb 0 0 0 0 2 这
  • android 如何比较待处理的意图

    文档PendingIntent FLAG NO CREATE http developer android com reference android app PendingIntent html FLAG NO CREATE reads
  • Android 列表视图搜索过滤器

    我正在尝试为 Android 进行列表视图搜索 我发现很多教程都可以做到这一点 搜索栏位于顶部 如果您在框中键入内容 结果将被过滤 在我的应用程序中 我想在过滤完成后单击给定的项目 我已经实现了 setOnItemClickListener
  • 引导两个导航栏折叠

    在引导程序中 我想在彼此下方有两个导航栏 我的想法 Navbar 1有一个品牌 主菜单 Navbar 2 在navbar1下面 有一个品牌叫做 子菜单 当用户在手机上查看该网站时 他 她会看到两个可折叠的导航栏 用户现在可以选择要打开的导航
  • 您多久更新一次 SQL Server 2000 中的统计信息?

    我想知道更新统计数据之前是否对您有帮助 您是如何知道更新它们的 exec sp updatestats 是的 如果您发现查询的性能未达到应有的效果 更新统计信息会非常有帮助 这可以通过检查查询计划并注意何时执行表扫描或索引扫描而不是索引查找
  • 在 Web 应用程序中记录用户活动

    我希望能够在网络应用程序中记录用户活动 我目前正在使用 log4j 它可以很好地记录错误等 但我不确定记录用户 执行的 servlet 方法和方法参数的最佳方法是什么 我正在使用 spring security 进行身份验证 典型的 Ser
  • 如何向网络服务发送和接收表情符号[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要在我的 Android 应用程序中使用表情符号进行聊天 我正在使用这个库https github com rockerhieu
  • gdb 堆栈奇怪

    我有时会得到这个奇怪的回溯 gdb bt 0 0x00002b36465a5d4c in AY16 Loop M16 from opt intel mkl 10 0 3 020 lib em64t libmkl mc so 1 0x0000
  • Python fastcgi 客户端

    我正在用 python 编写一个工具来监控 fastcgi 应用程序 我唯一需要 fastcgi 的是加载 ping 和状态页面 如果失败则返回某种错误 有很多库 从 python fasctgi 绑定到twisted 似乎能够做到这一点
  • Zend Framework 2 模块在 Bootstrap 控制器之间共享变量

    是否可以在 Module php 中创建变量甚至共享对象 如数据库适配器 以在所有视图控制器中使用 Zend 框架 2 例如 class Module public function onBootstrap MvcEvent e modul
  • python:腌制c对象

    首先 我并不期待解决方案 只是希望得到一些关于如何开始的指导 我有一个带有嵌入式 Python 解释器的 C 程序 程序用作输入的 Python 脚本显然是指 C 定义的对象和函数 我现在想让其中一些对象可腌制 pickle 文档描述了如何
  • Plone/z3c.form 3.2.1-如何使自动完成小部件(不是必填字段)使用自定义绑定源对象?

    我正在尝试使用绑定的源对象获取自动完成小部件以表单 z3c form 呈现 在接口类中 Parent schema Choice title u A Parent source ParentSourceBinder required Fal
  • Bootstrap Validator - 验证成功时发出警报

    我在用着引导验证器 http bootstrapvalidator com 插件来验证我的表单 我试图在表单成功验证时发出警报 HTML
  • LINQ To Entities 无法识别数组索引

    我的代码中有以下功能 public List
  • 如何以不同的方式设置标准 GWT 组件 (TabBar) 的样式?

    我正在使用 TabBar 并且想以不同的方式设置组件的样式 所以一次是这种风格 另一次是那种风格 我以为这会起作用 但事实并非如此 TabBar t new TabBar t addTab 1 t addTab 2 t addStyleNa
  • 将 stdint 与 swig 和 numpy.i 一起使用

    我正在开发一个模块来使用c inline在Python代码中基于swig 为此我想做numpy数组可访问于C 到目前为止我使用的 C 类型如下unsigned short但我想使用类似的类型uint16 t from stdint h保存我