次に、カーネル変換の例を示します。
例 1
ウィンドウ ベースの関数プロトタイプ
void k1(input_window_cint16 * __restrict inputw_l, input_window_cint16 * __restrict inputw_r, output_window_cint16 * __restrict output);
1 次元循環バッファー ポートの関数プロトタイプ
void k1_buffer_port(input_circular_buffer <cint16, adf::extents<adf::inherited_extent>, adf::margin<MARGIN_SIZE> > & __restrict inputw_l, input_circular_buffer <cint16, adf::extents<adf::inherited_extent>, adf::margin<MARGIN_SIZE> > & __restrict inputw_r, output_circular_buffer <cint16, adf::extents<adf::inherited_extent>> & __restrict output);
例 2
ウィンドウ ベースの関数プロトタイプ
void k2(input_window_cint16 * __restrict input_cb0, input_window_cint16 * __restrict input_cb1, input_window_cint16 * __restrict input_cb2, input_window_cint16 * __restrict input_cb3, input_window_cint16 * __restrict input_cb4, output_window_cint16 * __restrict output_cb);
1 次元バッファー ポートの関数プロトタイプ
void k2_buffer_port(input_buffer<cint16> & __restrict input_cb0, input_buffer<cint16> & __restrict input_cb1, input_buffer<cint16> & __restrict input_cb2, input_buffer<cint16> & __restrict input_cb3, input_buffer<cint16> & __restrict input_cb4, output_buffer<cint16> & __restrict output_cb);
注記: 関数プロトタイプでバッファー ポート サイズとして継承されたサイズを指定する場合、実際のバッファー ポート サイズはグラフ内の
dimensions()
API を使用して指定されます。