Repository: systemml Updated Branches: refs/heads/master a1eb7bced -> a04261d35
[MINOR] Improved average-case sparsity estimates of binary operations Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/a04261d3 Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/a04261d3 Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/a04261d3 Branch: refs/heads/master Commit: a04261d3571b9177ab638c3724886e232e54f190 Parents: a1eb7bc Author: Matthias Boehm <[email protected]> Authored: Mon Jul 9 20:30:49 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Mon Jul 9 20:30:49 2018 -0700 ---------------------------------------------------------------------- src/main/java/org/apache/sysml/hops/OptimizerUtils.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/a04261d3/src/main/java/org/apache/sysml/hops/OptimizerUtils.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java index 3ee6bc6..3f1a8cf 100644 --- a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java +++ b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java @@ -1085,10 +1085,12 @@ public class OptimizerUtils case MIN: case MAX: case OR: - ret = Math.min(1, sp1 + sp2); break; + ret = worstcase ? Math.min(1, sp1 + sp2) : + sp1 + sp2 - sp1 * sp2; break; case MULT: case AND: - ret = Math.min(sp1, sp2); break; + ret = worstcase ? Math.min(sp1, sp2) : + sp1 * sp2; break; case DIV: ret = Math.min(1, sp1 + (1-sp2)); break; case MODULUS:
