""" Provides several implementations of an element of ℤₙ. The base class :py:class:`Mod` dynamically dispatches to the implementation chosen by the runtime configuration of the library (see :py:class:`pyecsca.misc.cfg.Config`). A Python integer based implementation is available under :py:class:`RawMod`. A symbolic implementation based on sympy is available under :py:class:`SymbolicMod`. If `gmpy2` is installed, a GMP based implementation is available under :py:class:`GMPMod`. If `python-flint` is installed, a flint based implementation is available under :py:class:`FlintMod`. """ from .base import * from .raw import * from .symbolic import * from .gmp import * from .flint import *