Sophie

Sophie

distrib > Mageia > 7 > aarch64 > by-pkgid > e85136a351f22c9375653b0e22f5f580 > files > 17

python2-modint-0.2.1-3.mga7.noarch.rpm

===============================
ModInt
===============================


.. image:: https://img.shields.io/pypi/v/modint.svg
        :target: https://pypi.python.org/pypi/modint

.. image:: https://img.shields.io/travis/shlomif/modint.svg
        :target: https://travis-ci.org/shlomif/modint

.. image:: https://readthedocs.org/projects/modint/badge/?version=latest
        :target: https://modint.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/shlomif/modint/shield.svg
     :target: https://pyup.io/repos/github/shlomif/modint/
     :alt: Updates


Python implementation of the Chinese Remainder algorithm


* Free software: MIT license
* Documentation: https://modint.readthedocs.io.


Features
--------

A usable implementation of the Chinese Remainder algorithm (see
https://en.wikipedia.org/wiki/Chinese_remainder_theorem ) under the permissive
MIT/Expat licence. Written because none other similarly-licensed ones
could be found.

What this does is given two-or-more pairwise coprime bases integers and their
corresponding moduli, it finds an integer that yields these moduli for all the
bases.

Example
-------

Here is an example::

    from modint import ChineseRemainderConstructor, chinese_remainder

    cr = ChineseRemainderConstructor([2, 5])
    # Because 5 % 2 == 1 and 5 % 5 == 0
    assert cr.rem([1, 0]) == 5
    # Because 8 % 2 == 0 and 8 % 5 == 3
    assert cr.rem([0, 3]) == 8

    # Convenience function
    assert chinese_remainder([2, 3, 7], [1, 2, 3]) == 17

Credits
---------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage