From 49ed00a721911f29ecbe63de14d53c99558be582 Mon Sep 17 00:00:00 2001
From: Marcel Koch <marcel.koch@uni-muenster.de>
Date: Thu, 13 Jul 2017 10:17:23 +0200
Subject: [PATCH] Makes usage of get_backend consistent

---
 python/dune/perftool/pdelab/geometry.py      | 10 ++--------
 python/dune/perftool/pdelab/localoperator.py |  8 +++-----
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/python/dune/perftool/pdelab/geometry.py b/python/dune/perftool/pdelab/geometry.py
index 90b2ac90..6b6f16f6 100644
--- a/python/dune/perftool/pdelab/geometry.py
+++ b/python/dune/perftool/pdelab/geometry.py
@@ -333,10 +333,7 @@ def define_jacobian_inverse_transposed(name, restriction):
     dim = world_dimension()
     temporary_variable(name, decl_method=define_jacobian_inverse_transposed_temporary(restriction), shape=(dim, dim))
     geo = name_cell_geometry(restriction)
-    if get_option('blockstructured'):
-        pos = get_backend("qp_in_cell", selector=lambda : "blockstructured")(restriction)
-    else:
-        pos = get_backend("qp_in_cell")(restriction)
+    pos = get_backend("qp_in_cell", selector=option_switch("blockstructured"))(restriction)
     return quadrature_preamble("{} = {}.jacobianInverseTransposed({});".format(name,
                                                                                geo,
                                                                                str(pos),
@@ -377,10 +374,7 @@ def define_constant_jacobian_determinant(name):
 def define_jacobian_determinant(name):
     temporary_variable(name, shape=())
     geo = name_geometry()
-    if get_option('blockstructured'):
-        pos = get_backend("quad_pos", selector=lambda: 'blockstructured')()
-    else:
-        pos = get_backend("quad_pos")()
+    pos = get_backend("quad_pos", selector=option_switch("blockstructured"))()
     code = "{} = {}.integrationElement({});".format(name,
                                                     geo,
                                                     str(pos),
diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py
index e0659c6a..20110f20 100644
--- a/python/dune/perftool/pdelab/localoperator.py
+++ b/python/dune/perftool/pdelab/localoperator.py
@@ -3,7 +3,8 @@ from os.path import splitext
 
 import logging
 
-from dune.perftool.options import get_option
+from dune.perftool.options import (get_option,
+                                   option_switch)
 from dune.perftool.generation import (backend,
                                       base_class,
                                       class_basename,
@@ -242,10 +243,7 @@ def determine_accumulation_space(expr, number, measure, idims=None):
         lfs = lfs_child(lfs, idims, shape=subel.value_shape(), symmetry=subel.symmetry())
         subel = subel.sub_elements()[0]
 
-    if get_option("blockstructured"):
-        iname, = get_backend("lfs_inames", selector=lambda: "blockstructured")(subel, ma.restriction, count=number)
-    else:
-        iname, = get_backend("lfs_inames")(subel, ma.restriction, count=number)
+    iname, = get_backend("lfs_inames", selector=option_switch("blockstructured"))(subel, ma.restriction, count=number)
     lfsi = Variable(iname)
 
     # If the LFS is not yet a pymbolic expression, make it one
-- 
GitLab