@@ -56,6 +56,14 @@ def generator(ir, options):
56
56
code ["additional_includes_set" ] = set () # FIXME: Get this out of code[]
57
57
code ["tabulate_tensor" ] = body
58
58
59
+ code ["tabulate_tensor_float32" ] = "NULL"
60
+ code ["tabulate_tensor_float64" ] = "NULL"
61
+ code ["tabulate_tensor_longdouble" ] = "NULL"
62
+ code ["tabulate_tensor_complex64" ] = "NULL"
63
+ code ["tabulate_tensor_complex128" ] = "NULL"
64
+ np_scalar_type = np .dtype (options ["scalar_type" ]).name
65
+ code [f"tabulate_tensor_{ np_scalar_type } " ] = f"tabulate_tensor_{ factory_name } "
66
+
59
67
implementation = ufcx_integrals .factory .format (
60
68
factory_name = factory_name ,
61
69
enabled_coefficients = code ["enabled_coefficients" ],
@@ -64,7 +72,11 @@ def generator(ir, options):
64
72
needs_facet_permutations = "true" if ir .needs_facet_permutations else "false" ,
65
73
scalar_type = dtype_to_c_type (options ["scalar_type" ]),
66
74
geom_type = dtype_to_c_type (dtype_to_scalar_dtype (options ["scalar_type" ])),
67
- np_scalar_type = np .dtype (options ["scalar_type" ]).name ,
68
- coordinate_element = f"&{ ir .coordinate_element } " )
75
+ coordinate_element = f"&{ ir .coordinate_element } " ,
76
+ tabulate_tensor_float32 = code ["tabulate_tensor_float32" ],
77
+ tabulate_tensor_float64 = code ["tabulate_tensor_float64" ],
78
+ tabulate_tensor_longdouble = code ["tabulate_tensor_longdouble" ],
79
+ tabulate_tensor_complex64 = code ["tabulate_tensor_complex64" ],
80
+ tabulate_tensor_complex128 = code ["tabulate_tensor_complex128" ])
69
81
70
82
return declaration , implementation
0 commit comments