From a734309adad5228ef060f6626f96a435905d959e Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Wed, 30 Nov 2022 01:30:11 -0600 Subject: [PATCH 1/2] This recipe for smetric is the fastest --- graphblas_algorithms/algorithms/smetric.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/graphblas_algorithms/algorithms/smetric.py b/graphblas_algorithms/algorithms/smetric.py index 2a285d2..e2e85bb 100644 --- a/graphblas_algorithms/algorithms/smetric.py +++ b/graphblas_algorithms/algorithms/smetric.py @@ -1,3 +1,5 @@ +from graphblas import binary + __all__ = ["s_metric"] @@ -6,7 +8,7 @@ def s_metric(G): degrees = G.get_property("total_degrees+") else: degrees = G.get_property("degrees+") + return (binary.first(degrees & G._A) @ degrees).reduce().get(0) / 2 # Alternatives # return (degrees @ binary.second(G._A & degrees)).reduce().get(0) / 2 - # return (binary.first(degrees & G._A) @ degrees).reduce().get(0) / 2 - return degrees.outer(degrees).new(mask=G._A.S).reduce_scalar().get(0) / 2 + # return degrees.outer(degrees).new(mask=G._A.S).reduce_scalar().get(0) / 2 From cf16b85ac30f6e010cc86237859d02239febe4f8 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Wed, 30 Nov 2022 11:14:53 -0600 Subject: [PATCH 2/2] Make flake8 happy --- setup.cfg | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/setup.cfg b/setup.cfg index 41da226..38a76c1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,10 +9,9 @@ exclude = graphblas_algorithms/*/tests/, graphblas_algorithms/*/*/tests/, build/ -ignore = - E203, # whitespace before ':' - E231, # Multiple spaces around "," - W503, # line break before binary operator +extend-ignore = + E203, +# E203 whitespace before ':' (to be compatible with black) per-file-ignores = __init__.py:F401,F403, # allow unused and star imports test_*.py:F401,F403,