From a231da123330a6f75f6d61358bda65faf0a82971 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Tue, 8 Nov 2016 10:30:32 +0100 Subject: [PATCH] Fix all of renes complaints --- python/dune/perftool/sumfact/basis.py | 22 ++++++++++++++-------- python/dune/perftool/tools.py | 10 +++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/python/dune/perftool/sumfact/basis.py b/python/dune/perftool/sumfact/basis.py index c171806e..0d625679 100644 --- a/python/dune/perftool/sumfact/basis.py +++ b/python/dune/perftool/sumfact/basis.py @@ -1,7 +1,7 @@ """ Generator functions to evaluate trial and test functions NB: Basis evaluation is only needed for the trial function argument in jacobians, as the -multiplication withthe test function is part of the sum factorization kernel. +multiplication with the test function is part of the sum factorization kernel. """ from dune.perftool.generation import (backend, cached, @@ -28,7 +28,7 @@ from dune.perftool.pdelab.restriction import restricted_name from pytools import product -import pymbolic.primitives as p +import pymbolic.primitives as prim @cached @@ -37,6 +37,7 @@ def pymbolic_trialfunction(element, restriction, component): rows = quadrature_points_per_direction() cols = basis_functions_per_direction() a_matrix = AMatrix(theta, rows, cols) + # TODO: this is 2D only a_matrices = (a_matrix, a_matrix) # Do stage 1 @@ -51,7 +52,9 @@ def pymbolic_trialfunction(element, restriction, component): insn_dep=frozenset({insn_dep}), ) - return p.Subscript(p.Variable(var), tuple(p.Variable(i) for i in quadrature_inames())) + return prim.Subscript(prim.Variable(var), + tuple(prim.Variable(i) for i in quadrature_inames()) + ) @iname @@ -78,10 +81,13 @@ def evaluate_basis(element, name, restriction): inames = lfs_inames(element, restriction) assert(len(quad_inames) == len(inames)) - instruction(expression=p.Product(tuple(p.Call(ColMajorAccess(theta), (p.Variable(i), p.Variable(j))) - for (i, j) in zip(quad_inames, inames)) - ), - assignee=p.Variable(name), + instruction(expression=prim.Product(tuple(prim.Call(ColMajorAccess(theta), + (prim.Variable(i), prim.Variable(j)) + ) + for (i, j) in zip(quad_inames, inames) + ) + ), + assignee=prim.Variable(name), forced_iname_deps=frozenset(quad_inames + inames), forced_iname_deps_is_final=True, ) @@ -95,4 +101,4 @@ def pymbolic_basis(element, restriction, number): name = restricted_name(name, restriction) evaluate_basis(element, name, restriction) - return p.Variable(name) + return prim.Variable(name) diff --git a/python/dune/perftool/tools.py b/python/dune/perftool/tools.py index b11b4918..cd6d06d2 100644 --- a/python/dune/perftool/tools.py +++ b/python/dune/perftool/tools.py @@ -1,22 +1,22 @@ """ Some grabbag tools """ -import pymbolic.primitives as p +import pymbolic.primitives as prim def get_pymbolic_basename(expr): - assert isinstance(expr, p.Expression), "Type: {}, expr: {}".format(type(expr), expr) + assert isinstance(expr, prim.Expression), "Type: {}, expr: {}".format(type(expr), expr) - if isinstance(expr, p.Variable): + if isinstance(expr, prim.Variable): return expr.name - if isinstance(expr, p.Subscript): + if isinstance(expr, prim.Subscript): return get_pymbolic_basename(expr.aggregate) raise NotImplementedError("Cannot determine basename of {}".format(expr)) def get_pymbolic_indices(expr): - if not isinstance(expr, p.Subscript): + if not isinstance(expr, prim.Subscript): return () def ind(i): -- GitLab