Skip to content

Commit

Permalink
Merge pull request #180 from firedrakeproject/pass-interface
Browse files Browse the repository at this point in the history
* pass-interface:
  Allow caller to pass kernel interface to compile_form
  • Loading branch information
wence- committed Dec 17, 2018
2 parents ed84cbc + 8341dad commit 0d8251e
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tsfc/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import tsfc.kernel_interface.firedrake as firedrake_interface


def compile_form(form, prefix="form", parameters=None):
def compile_form(form, prefix="form", parameters=None, interface=None):
"""Compiles a UFL form into a set of assembly kernels.
:arg form: UFL form
Expand All @@ -43,6 +43,8 @@ def compile_form(form, prefix="form", parameters=None):

assert isinstance(form, Form)

if interface is None:
interface = firedrake_interface
# Determine whether in complex mode:
# complex nodes would break the refactoriser.
complex_mode = parameters and is_complex(parameters.get("scalar_type"))
Expand All @@ -58,7 +60,7 @@ def compile_form(form, prefix="form", parameters=None):
kernels = []
for integral_data in fd.integral_data:
start = time.time()
kernel = compile_integral(integral_data, fd, prefix, parameters)
kernel = compile_integral(integral_data, fd, prefix, parameters, interface=interface)
if kernel is not None:
kernels.append(kernel)
logger.info(GREEN % "compile_integral finished in %g seconds.", time.time() - start)
Expand Down

0 comments on commit 0d8251e

Please sign in to comment.