【发布时间】:2019-08-24 13:01:38
【问题描述】:
我正在尝试从 python 调用 C 函数。此函数将多个数组作为输入并返回一个浮点数。
我需要 SWIG 类型映射来执行此操作吗?一个问题是python没有区分floats、double等,我特别感兴趣的是只返回c-typefloat。
【问题讨论】:
-
你能用minimal reproducible example 说明问题吗?
我正在尝试从 python 调用 C 函数。此函数将多个数组作为输入并返回一个浮点数。
我需要 SWIG 类型映射来执行此操作吗?一个问题是python没有区分floats、double等,我特别感兴趣的是只返回c-typefloat。
【问题讨论】:
返回float“正常工作”。您不需要额外的类型映射:
test.i
%module test
%inline %{
float func(void) { return 1.5; }
%}
运行 swig 并编译结果后:
>>> import test
>>> test.func()
1.5
【讨论】: