RS カーネルの出力として不定サイズの配列を処理する最も効率的な方法に頭を悩ませようとしています。out 割り当てで最後の関連する配列スロットのインデックスを送信しますが、前の質問への回答で学びました。カーネルの実行後にグローバルを Java に戻す良い方法はありません。以下のパターンにつながるプロセスを再び「ズームアウト」することにしました。
たとえば、極座標の 2 つの配列を含む構造体 (または構造体) を含む入力割り当てがあるとします。以下の set_pair のようなもの:
typedef struct polar_tag{
uint8_t angle;
uint32_t mag;
} polar;
typedef struct polar_set_tag{
uint8_t filled_slots;
polar coordinates[60];
} polar_set;
typedef struct set_pair_tag{
polar_set probe_set;
polar_set candidate_set;
} set_pair;
セット間で類似した座標ペアを見つけたいので、カーネルをセットアップして、どの極座標が類似しているか (存在する場合) を決定します。それらが類似している場合は、「matching_set」のような出力割り当てにロードします。
typedef struct matching_pair_tag{
uint8_t probe_index;
uint8_t candidate_index;
} matching_pair;
typedef struct matching_set_tag{
matching_pair pairs[120];
uint8_t filled_slots;
} matching_set;
「filled_slots」のような命令で割り当てを作成することは、RS でこの種の不確定な I/O を処理する最も効率的な (または唯一の) 方法ですか、それとももっと良い方法がありますか?