如何为需要2个表的函数创建SWIG类型图?

时间:2019-05-28 06:57:06

标签: lua swig

我正在尝试为以下功能创建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类型图?

1 个答案:

答案 0 :(得分:0)

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

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

这对我来说似乎很好用。