@@ -605,7 +605,7 @@ def __eq__(self, other) -> bool:
605605 def __hash__ (self ) -> int :
606606 return super ().__hash__ ()
607607
608- def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .ArrayLike :
608+ def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .NDArray [ np . float64 ] :
609609 tables = self ._element .tabulate (nderivs , points )
610610 output = []
611611 for tbl in tables : # type: ignore
@@ -773,7 +773,7 @@ def is_mixed(self) -> bool:
773773 def degree (self ) -> int :
774774 return max ((e .degree for e in self ._sub_elements ), default = - 1 )
775775
776- def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .ArrayLike :
776+ def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .NDArray [ np . float64 ] :
777777 tables = []
778778 results = [e .tabulate (nderivs , points ) for e in self ._sub_elements ]
779779 for deriv_tables in zip (* results ):
@@ -1044,7 +1044,7 @@ def is_quadrature(self) -> bool:
10441044 def is_real (self ) -> bool :
10451045 return self ._sub_element .is_real
10461046
1047- def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .ArrayLike :
1047+ def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .NDArray [ np . float64 ] :
10481048 assert len (self ._block_shape ) == 1 # TODO: block shape
10491049 assert self .reference_value_size == self ._block_size # TODO: remove this assumption
10501050 output = []
@@ -1281,7 +1281,9 @@ def __eq__(self, other) -> bool:
12811281 def __hash__ (self ) -> int :
12821282 return super ().__hash__ ()
12831283
1284- def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .ArrayLike :
1284+ def tabulate (
1285+ self , nderivs : int , points : _npt .NDArray [np .floating ]
1286+ ) -> _npt .NDArray [np .floating ]:
12851287 if nderivs > 0 :
12861288 raise ValueError ("Cannot take derivatives of Quadrature element." )
12871289
@@ -1424,7 +1426,9 @@ def __hash__(self) -> int:
14241426 def dtype (self ) -> _npt .DTypeLike :
14251427 raise NotImplementedError ()
14261428
1427- def tabulate (self , nderivs : int , points : _npt .NDArray [np .floating ]) -> _npt .ArrayLike :
1429+ def tabulate (
1430+ self , nderivs : int , points : _npt .NDArray [np .floating ]
1431+ ) -> _npt .NDArray [np .floating ]:
14281432 out = np .zeros ((nderivs + 1 , len (points ), self .reference_value_size ** 2 ))
14291433 for v in range (self .reference_value_size ):
14301434 out [0 , :, self .reference_value_size * v + v ] = 1.0
@@ -1578,7 +1582,7 @@ def element(
15781582 symmetry : bool | None = None ,
15791583 dof_ordering : list [int ] | None = None ,
15801584 dtype : _npt .DTypeLike | None = None ,
1581- ) -> _BasixElement :
1585+ ) -> _BasixElement | _BlockedElement :
15821586 """Create a UFL compatible element using Basix.
15831587
15841588 Args:
@@ -1919,7 +1923,7 @@ def blocked_element(
19191923 sub_element : _ElementBase ,
19201924 shape : tuple [int , ...],
19211925 symmetry : bool | None = None ,
1922- ) -> _ElementBase :
1926+ ) -> _BlockedElement :
19231927 """Create a UFL compatible blocked element.
19241928
19251929 Args:
0 commit comments