【问题标题】:How to create SWIG typemap for a function that takes 2 tables?如何为需要 2 个表的函数创建 SWIG 类型映射?
【发布时间】:2019-05-28 06:57:06
【问题描述】:

我正在尝试为以下函数创建一个 SWIG 类型映射:

void mix(int size, float *in1, float *in2, float *out1)
{
    for (int i = 0; i < size; ++i)
        out1[i] = in1[i] + in2[i];
}

在 lua 中,我希望这个函数接受 2 个表参数并返回 1 个表,如下所示:

local t = m.mix({1,2,3}, {4,5,6})

那么表 t 应该是 {5,7,9},这是两个表的总和。

我尝试使用内置类型映射,但我只能包装一个函数,该函数接受并返回一个表,如下所示:

%apply (float *INOUT, int) {(float *inout, int size)};

如何为接受两个表并返回一个表的函数创建 SWIG 类型映射?

【问题讨论】:

    标签: lua swig


    【解决方案1】:

    我找到了一个简单的方法。

    %apply (float *INOUT, int) {(float *in1, int n1)};
    %apply (float *INPUT, int) {(float *in2, int n2)};
    

    它似乎对我的目的很好。

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      相关资源
      最近更新 更多