CC'ing Ian who wrote this code, just to make sure that changing the order is going to be OK.
Quoting Dylan Baker (2018-07-05 09:31:30) > Quoting Mathieu Bridon (2018-07-05 06:17:47) > > On Python 2, the builtin functions filter() and zip() would return > > lists. > > > > On Python 3, they return iterators. > > > > Since we want to use those objects in contexts where we need lists, we > > need to explicitly turn them into lists. > > > > This makes the code compatible with both Python 2 and Python 3. > > > > Signed-off-by: Mathieu Bridon <boche...@daitauha.fr> > > --- > > src/compiler/nir/nir_opt_algebraic.py | 2 +- > > src/mesa/main/get_hash_generator.py | 4 ++-- > > 2 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/src/compiler/nir/nir_opt_algebraic.py > > b/src/compiler/nir/nir_opt_algebraic.py > > index 5e07d662b0..7b2ba56990 100644 > > --- a/src/compiler/nir/nir_opt_algebraic.py > > +++ b/src/compiler/nir/nir_opt_algebraic.py > > @@ -633,7 +633,7 @@ optimizations = [ > > > > invert = OrderedDict([('feq', 'fne'), ('fne', 'feq'), ('fge', 'flt'), > > ('flt', 'fge')]) > > > > -for left, right in list(itertools.combinations(invert.keys(), 2)) + > > zip(invert.keys(), invert.keys()): > > +for left, right in list(itertools.combinations(invert.keys(), 2)) + > > list(zip(invert.keys(), invert.keys())): > > Isn't this just a really expenisve re-implementation of: > itertools.combinations_with_replacement(invert.keys(), 2) > > There's really no reason to make this concrete either, so lets not. > > This will change the order of the output slightly, but I think that's okay. > > > optimizations.append((('inot', ('ior(is_used_once)', (left, a, b), > > (right, c, d))), > > ('iand', (invert[left], a, b), (invert[right], c, > > d)))) > > optimizations.append((('inot', ('iand(is_used_once)', (left, a, b), > > (right, c, d))), > > diff --git a/src/mesa/main/get_hash_generator.py > > b/src/mesa/main/get_hash_generator.py > > index facdccd8a5..37dae45e0b 100644 > > --- a/src/mesa/main/get_hash_generator.py > > +++ b/src/mesa/main/get_hash_generator.py > > @@ -117,8 +117,8 @@ def print_tables(tables): > > def merge_tables(tables): > > merged_tables = [] > > for api, indices in sorted(tables.items()): > > - matching_table = filter(lambda mt:mt["indices"] == indices, > > - merged_tables) > > + matching_table = list(filter(lambda mt:mt["indices"] == indices, > > + merged_tables)) > > how about: > matching_table = [m for m in merged_tables if m["indicies" == indicies"] > since that works in both, is more common python, and avoids the extra function > call and the lambda. > > > if matching_table: > > matching_table[0]["apis"].append(api) > > else: > > -- > > 2.17.1 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev