Skip to content

Convert-Group/pairing-functions

Repository files navigation

pairing-functions

A pairing function is a function that reversibly maps two non-negative integers onto a single non-negative integer.

This package currently supports the following pairing functions:

  • Szudzik pairing function
  • Cantor pairing function

Install

Simply:

$ pip install pairing-functions

Usage

from pairing_functions import cantor, szudzik

szudzik.pair(3, 4)  
// 19

szudzik.unpair(19)
// (3, 4)

cantor.pair(3, 4)  
// 32

cantor.unpair(32)
// (3, 4)

You can also work with more than 2 integers:

from pairing_functions import cantor, szudzik

szudzik.pair(1, 2, 3, 4)
// 1126

cantor.pair(1, 2, 3, 4)
// 2705

# by default, unpairing will result in two integers

szudzik.unpair(1126)
// (33, 4)

cantor.unpair(2705)
// (69, 4)

# but going back to the initial integers is also possible
# just specify how many integers you expect

szudzik.unpair(1126, n=4)
// (1, 2, 3, 4)

cantor.unpair(2705, n=4)
// (1, 2, 3, 4)

Documentation

You can find more about pairing functions in the docs.

How to contribute

If you wish to contribute, you can start from here !

Test

You can run the available tests with pytest - code coverage metrics are also available via pytest-cov.

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy