1

カーネルの完了時に Java に戻すことを目的として、RS でグローバルの値をインクリメントしています。rsDebug は反復ごとに値が上昇することを示しますが、mScript.get_var() は初期値の 1 を返します。MAX の最後の値を取得する正しい方法は何ですか?

RS:

int MAX = 1;

void root(const input* in, float* out){
    MAX = MAX+1;
    rsDebug("MAX",MAX);
    *out = atan2(in->first, in->second);
} 

ジャワ:

float[] out = new float[100000];
mScript.forEach_root(mInAllocation, mOutAllocation);
mOutAllocation.copyTo(out);
Log.i("Max Count...", Integer.toString(mScript.get_MAX()));
4

1 に答える 1

2

get_var は、RS コードによって設定された最後の値ではなく、Java によって設定された最後の値のみを返します。将来のある時点で、これは対処される予定ですが、まだ対処されていません。現時点では、値を RS Allocation に隠しておき、それを Java にコピーして戻す方法があります。

ええ、それは素晴らしいことではありません。申し訳ありませんが、これは対処すべき事項のリストに含まれています (ほぼ完了しましたが、RS から設定できる BaseObjs のために、最初に考えていたよりもはるかに複雑です)。

于 2013-10-22T22:02:30.540 に答える