APL muss nicht jede boolesche Scan-Primitive einzeln optimieren

Symmetries in Boolean Scan

APL-Interpreter optimieren Primitive wie +/ in nativem Code, aber boolesche Scans sind wegen der vielen binären booleschen Funktionen aufwendig. Der Artikel zeigt, wie man mit drei Kompositionsregeln für Scans – Vorverarbeitung, Nachverarbeitung und beides kombiniert – die 10 booleschen Primitive aufeinander abbildet. Es genügt, ∧, < und ≠ schnell zu implementieren, um alle anderen durch Symmetrien abzuleiten, was Implementierungsaufwand spart.

We can see that the set ∧, <, ≠ covers all columns at least once, therefore if we provide fast implementations of each of these, we can derive decent implementations of the others by just applying these symmetries.

Mehr von diesem Tag

2026-10-16