Skip to content

Commit dff1b7b

Browse files
committed
Add typing generics Expression
1 parent 1380e73 commit dff1b7b

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

python/dolfinx/fem/function.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def __complex__(self) -> complex:
9898
return complex(self.value)
9999

100100

101-
class Expression:
101+
class Expression(Generic[_S]):
102102
"""An object for evaluating functions of finite element functions.
103103
104104
Represents a mathematical expression evaluated at a pre-defined set
@@ -213,9 +213,9 @@ def _create_expression(dtype):
213213
def eval(
214214
self,
215215
mesh: Mesh,
216-
entities: np.ndarray,
217-
values: np.ndarray | None = None,
218-
) -> np.ndarray:
216+
entities: npt.NDArray[np.int32],
217+
values: npt.NDArray[_S] | None = None,
218+
) -> npt.NDArray[_S]:
219219
"""Evaluate Expression on entities.
220220
221221
Args:
@@ -271,12 +271,12 @@ def eval(
271271
)
272272
return values
273273

274-
def X(self) -> np.ndarray:
274+
def X(self) -> npt.NDArray:
275275
"""Evaluation points on the reference cell."""
276276
return self._cpp_object.X()
277277

278278
@property
279-
def ufl_expression(self):
279+
def ufl_expression(self) -> ufl.core.expr.Expr:
280280
"""Original UFL Expression."""
281281
return self._ufl_expression
282282

@@ -306,7 +306,7 @@ def code(self) -> str:
306306
return self._code
307307

308308
@property
309-
def dtype(self) -> np.dtype:
309+
def dtype(self) -> npt.DTypeLike:
310310
"""Expression value dtype."""
311311
return np.dtype(self._cpp_object.dtype)
312312

0 commit comments

Comments
 (0)