@@ -264,7 +264,7 @@ def basis_transformation(self, coordinate_mapping):
264264 :arg coordinate_mapping: Object providing physical geometry."""
265265 pass
266266
267- def basis_evaluation (self , order , ps , entity = None , coordinate_mapping = None ):
267+ def map_tabulation (self , tabulation , coordinate_mapping ):
268268 assert coordinate_mapping is not None
269269
270270 M = self .basis_transformation (coordinate_mapping )
@@ -281,13 +281,15 @@ def matvec(table):
281281 val = gem .ListTensor (expressions )
282282 return gem .optimise .aggressive_unroll (val )
283283
284- result = super (). basis_evaluation ( order , ps , entity = entity )
284+ return { alpha : matvec ( tabulation [ alpha ]) for alpha in tabulation }
285285
286- return {alpha : matvec (table )
287- for alpha , table in result .items ()}
286+ def basis_evaluation (self , order , ps , entity = None , coordinate_mapping = None ):
287+ result = super ().basis_evaluation (order , ps , entity = entity )
288+ return self .map_tabulation (result , coordinate_mapping )
288289
289- def point_evaluation (self , order , refcoords , entity = None ):
290- raise NotImplementedError ("TODO: not yet thought about it" )
290+ def point_evaluation (self , order , refcoords , entity = None , coordinate_mapping = None ):
291+ result = super ().point_evaluation (order , refcoords , entity = entity )
292+ return self .map_tabulation (result , coordinate_mapping )
291293
292294
293295class DirectlyDefinedElement (NeedsCoordinateMappingElement ):
0 commit comments