if(f.apply(0, y) == 0) { it = iterateNonZero(); } else { it = iterateAll(); }
in assign function, this check is reducing the performance by a lot in many of the algorithms where repeated assign is happening e.g LDA What i propose i this. add 4 more types and make it is tested SkipZeroBinaryFunction SkipNoneBinaryFunction SkipZeroUnaryFunction SkipNoneUnaryFunction Robin