Gets rid of crossproduct features (i.
Gets rid of crossproduct features (i.e. not hash, not label) that are shouldPrune.
Optionally, we can also build a new surfaceFeature index with only those surface features that are used in some part of the new cross product.
(Implementation note: the resulting mapping may contain -1's for elements of the cross product that have been removed. This is to note that this feature is known and the hash code should not be computed.)
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
(Since version 2.10.0) use fold instead