Skip to content

Commit 7c0dd2a

Browse files
committed
added merge sets
1 parent bbfdca4 commit 7c0dd2a

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/quemb/molbe/chemfrag.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from chemcoord import Cartesian
55
from pyscf.gto import Mole
66

7+
from quemb.shared.typing import T
8+
79
AtomIdx = NewType("AtomIdx", int)
810

911
AOIdx = NewType("AOIdx", int)
@@ -38,6 +40,10 @@
3840
ContainedCenterIdx = NewType("ContainedCenterIdx", dict[CenterIdx, set[CenterIdx]])
3941

4042

43+
def merge_sets(*sets: set[T]) -> set[T]:
44+
return set().union(*sets)
45+
46+
4147
@define
4248
class FragmentedMolecule:
4349
atom_per_frag: Final[AtomPerFrag]
@@ -155,7 +161,7 @@ def AO_indices_of_fragment(fragment: set[AtomIdx]) -> dict[AtomIdx, set[AOIdx]]:
155161
def get_fsites(mol: Mole, fragments: AtomPerFrag) -> AOPerFrag:
156162
return AOPerFrag(
157163
{
158-
i_center: set().union(*i_fragment.values())
164+
i_center: merge_sets(*i_fragment.values())
159165
for i_center, i_fragment in get_fs(mol, fragments).items()
160166
}
161167
)

src/quemb/shared/typing.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,7 @@
4848
PathLike: TypeAlias = str | os.PathLike
4949
#: Type annotation for dictionaries holding keyword arguments.
5050
KwargDict: TypeAlias = Dict[str, Any]
51+
52+
53+
#: A generic type variable, without any constraints.
54+
T = TypeVar("T")

0 commit comments

Comments
 (0)