Skip to main content

A Python class for polynomial arithmetic over GF(2), based on Pythons built-in integers, efficiently implemented in C

Project description

gint

A Python class for (large) polynomials over GF(2), based on Python's built-in integers, efficiently implemented in C

The purpose of this package is to support polynomial algebra over GF(2). The polynomial field is infinite, operations are NOT computed modulo anything.

The package does not depend on numpy nor any other package, instead Pythons built-in variable-sized integers are used. A Python subclass gint is derived from the built-in int where the appropriate operators +, -, *, /, %, divmod are defined. Exponentiation with standard integer exponent using ** operator is also allowed. Boolean operators &, |, ^ are supported, even with integers (returning gint). Shift operators with integer shift are allowed.

There is a performance penalty due to the Python integer design being based on 15- or 30-bit chunks. However the generic implementation in C still performs way better than any pure Python implementation, especially for large polynomials.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gint-0.2.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distributions

gint-0.2.0-cp36-cp36m-win_amd64.whl (21.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

gint-0.2.0-cp36-cp36m-win32.whl (18.0 kB view details)

Uploaded CPython 3.6m Windows x86

gint-0.2.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (61.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

gint-0.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (46.9 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

gint-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl (21.5 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

gint-0.2.0-cp36-abi3-win_amd64.whl (21.1 kB view details)

Uploaded CPython 3.6+ Windows x86-64

gint-0.2.0-cp36-abi3-win32.whl (18.1 kB view details)

Uploaded CPython 3.6+ Windows x86

gint-0.2.0-cp36-abi3-musllinux_1_1_x86_64.whl (60.9 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ x86-64

gint-0.2.0-cp36-abi3-musllinux_1_1_i686.whl (46.5 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ i686

gint-0.2.0-cp36-abi3-musllinux_1_1_aarch64.whl (66.7 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ ARM64

gint-0.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (56.7 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ x86-64

gint-0.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (62.9 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ ARM64

gint-0.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (46.0 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

gint-0.2.0-cp36-abi3-macosx_10_9_x86_64.whl (21.6 kB view details)

Uploaded CPython 3.6+ macOS 10.9+ x86-64

File details

Details for the file gint-0.2.0.tar.gz.

File metadata

  • Download URL: gint-0.2.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.12

File hashes

Hashes for gint-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f9a5f74ceca4758d508dfc4b9be5f39b2ab3e9817b0c944771f1f516cc8c24ab
MD5 f6a484edb488b75bef03aabcc8bc8abc
BLAKE2b-256 f42af21f8f143691611baaa8362fe4dba426332bbeb74e99fb923d95aa0ad5ee

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.12

File hashes

Hashes for gint-0.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 41ea46c576d4941da447576b04c40c661e010c1ea2b414ad7cb49df82ee548f9
MD5 725f48be59dbf68fd8203afbed03a4b7
BLAKE2b-256 abcf8ecf6200817d7f80b5648b7e9624a5f37f0cccc14e7766c696612dccb9e4

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.12

File hashes

Hashes for gint-0.2.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 510e7e0de70629c29d31cebe42414ca7ab48804ad132038c2351adf03a617228
MD5 83636b429a6723f05eab81d2ab2df532
BLAKE2b-256 65ece50d46c85544c39fdb741a814fbf366c0ef6df5af6a8d402904a635cf427

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for gint-0.2.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4d1bba058bcfc91166ffb92c6c3142e50db886af1fe040cff1a2e7f9c9e808f2
MD5 eb71dea9c9cdacd7f556a3d9616cd083
BLAKE2b-256 a2b389f88e4112e2deb9bbe6b032c53513b74d06d369675579243c94cc9ebca2

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for gint-0.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 bbddb1c1a6112de3e4cd2755b24788c64ff64c9c6305254d1a71a4578828e77a
MD5 bfc69b37d7f317dfb6a2dfcfa9ffc3ef
BLAKE2b-256 1933be43f172f26abea3250a66bc074c97fc54d8495fb9f3c0dde2d3feb346e9

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.12

File hashes

Hashes for gint-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc5c21905dc36994142520652f59b11ffc3fe4381de8de23307e0a3cc69eabe6
MD5 c62812451626f29493fff24f78d36157
BLAKE2b-256 b8b7d9fb10ed7f2a9484d845ae251b589f091120e709353b2fb0ba3ccd6c5a5c

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 000a343d061004a4f9e1ed852f984b6c04d8f61ebf8f945b3638ea5387b3242a
MD5 851af40ba352673e121f8776d21bd310
BLAKE2b-256 08b4e3fac93657883f68461cc2ea8977c42b756847f02def74860d0d81ea5a35

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-win32.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-win32.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.6+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 4dba86f72afaa9a1606e51b8d9f97379fae369b7b6ee80008db894c9375eba65
MD5 ce248cdf21753a90770875442e74a6b8
BLAKE2b-256 cbacf03f5f0c27daa6ac446ee2cc968718df334d9c50b55b89e81685fb5ec62c

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-musllinux_1_1_x86_64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 60.9 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 01a521a330614b6cf47d7996d89fca0ac1fdece78948a3d4830ac788b09d0ce2
MD5 6fe74e66ecdc7463c424a4a7cdd6655e
BLAKE2b-256 e21c5960ffbe115adf855d8e1a6910fc17b224b959282f50c8ac182163c0cb15

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-musllinux_1_1_i686.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 204ee831565597063328c743bc4ea22ffeb6168b05e75e67cb2b56b465c52411
MD5 b0be1c6959ef510ffdb08c3d207cef68
BLAKE2b-256 371c44af3d595d1616a4455e3c39453399399e66777728544dcb323979da44c1

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-musllinux_1_1_aarch64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 66.7 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7f586e4b32d93ad92bb14b770e593840c056433f6beb6bbf35b8a270fed95242
MD5 06a0d9fe8648754f63fc67aa4fb3a6e6
BLAKE2b-256 d3c9950a0bea58bc9bfbe3805393c95be09da8873667ef1024717b15eca60573

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gint-0.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1478b1888201328410ed402dd1d3c398a706df10b75d1530364892d77eedc93a
MD5 8e4234bc50302a1035c87a4c61bea54c
BLAKE2b-256 d22fbb9d5dc686969322ffa00aa7c11ddba9e12361d3f840667b8f6390118c17

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gint-0.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8bb2d04eb0f9ad764a0ef85796e12e32c08b078bfe7b04b97ae210a00ba599e
MD5 3e3422379b2a59e0b5da05c940fb8933
BLAKE2b-256 b2cc0a383f145e2212e8ab4f295c746d30058b042717580f98d3baec523a3838

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for gint-0.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c846b5074a21bd928ab6764c696f1d1e11294669395fb6378c085125ae198fc9
MD5 162bf1de1baaccd7d14e465b509ffb86
BLAKE2b-256 981f69292f6b1bce82fe36683d7c692ab70e872d30279210b50c61964cdb827a

See more details on using hashes here.

File details

Details for the file gint-0.2.0-cp36-abi3-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: gint-0.2.0-cp36-abi3-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: CPython 3.6+, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for gint-0.2.0-cp36-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 818cc4c1dc2699d696ff6f498508a72513f79308693d5276b69bef41311a2690
MD5 78ad3aefd1b6edfd9bb3c16fffac0274
BLAKE2b-256 419ecfb5eacf0dcd8f08a1a5fa3590259f69ca47f9eca006b1657bae5755ce32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page