COMPILER支持FOR?

时间:2013-02-26 14:50:11

标签: matlab jacket

我在使用Jacket时遇到了这个问题。

我在gfor循环中使用编译函数(使用gcompile编译)。据我所知,这是支持的:http://wiki.accelereyes.com/wiki/index.php/GCOMPILE

但我观察到,虽然未编译的函数提供了正确的结果,但编译的函数为所有gfor迭代提供了相同的输出:

%================
% function[C] = test(A,B)
% C = A+B;
% end
%================

testing = gcompile('test.m');

A = gdouble(1:1:10);
B = gdouble(2:2:20);
C1 = gzeros(10,1);
C2 = gzeros(10,1);

gfor l=1:10
    C1(l) = test(A(l),B(l));
    C2(l) = testing(A(l),B(l));
gend

输出结果为:

C1 = [3,6,9,12,15,18,21,24,27,30] (正确的结果)

C2 = [3,3,3,3,3,3,3,3,3,3]

你可以验证/反驳我的结果吗? 我究竟做错了什么?

干杯, 安吉拉

1 个答案:

答案 0 :(得分:0)

我能够通过在MATLAB上运行Jacket来重现这种行为。似乎gcompile不能正常运行GFOR,并且文档出错了。对不起。