APLのブールスキャン、たった3つのプリミティブで全パターンをカバーできる対称性
Symmetries in Boolean Scan
APLは豊富なブールプリミティブを持つが、実装者にとってすべてに高速なコードを用意するのは負担が大きい。著者はスキャンの合成規則を分析し、否定を前処理・後処理として組み合わせる対称性を発見。真理値表の変換を調べることで、∧、<、≠の3つを高速実装すれば他のすべてのブールスキャンを導出できることを示した。実装コストを大幅に削減する洞察。
集合 ∧、<、≠ はすべての列を少なくとも一度はカバーしていることがわかる。したがって、これらの高速実装を提供すれば、これらの対称性を適用するだけで他のもののまともな実装を導出できる。