特定のアプリケーションでは、個々のインデックス情報を保持しながら、ネストされたループを 1 つに折りたたむ必要があります。
for j in N:
for i in M:
... A(i,j) ...
// Collapse the loops
for ij in MN:
... A(i,j) ...
そのため、除算/モジュロ (高価な操作) を使用して ij から i,j を回復する明白な方法と、if ステートメントを使用する (ベクトル化、分岐予測の問題を破る) を調べました。 ):
j += (i == m)
i *= (i != m)
++i, ++ij
おそらくそれを行うためのさらに良い方法はありますか?ありがとう