pytorch/torch/_dynamo/polyfills/_collections.py
2025-08-15 19:08:21 +00:00

34 lines
662 B
Python

"""
Python polyfills for builtins
"""
from collections.abc import Iterable, MutableMapping
from typing import TypeVar
from ..decorators import substitute_in_graph
__all__ = []
T = TypeVar("T")
try:
import _collections # type: ignore[import-not-found]
@substitute_in_graph(_collections._count_elements)
def _count_elements(
mapping: MutableMapping[T, int],
iterable: Iterable[T],
) -> None:
"Tally elements from the iterable."
mapping_get = mapping.get
for elem in iterable:
mapping[elem] = mapping_get(elem, 0) + 1
__all__.append("_count_elements")
except ImportError:
pass