Skip to main content

Boolean data type has two possible truth values to represent logic.

Project description

Boolean data type has two possible truth values to represent logic.
📦 PyPi, 📰 Pdoc, 📘 Wiki.

Here is my implementation of digital logic gates in software. That includes the basic gates not_, and_, or_, xor; their complements nand, nor, xnor; and 2 propositional logic (taught in discrete mathematics) gates imply, eq; and their complements nimply, neq. There is also a multiplexer, called select, and a True counter, called count. count can help you make custom gates, such as an alternate concept of xnor which returns True only if all inputs are the same (standard xnor returns True if even inputs are True). All of them can handle upto 8 inputs.

parse is influenced by "boolean" package, and is quite good at translating str to bool. It can also handle double negatives, eg. not inactive. You know the and_ of 2-inputs, but what of 1-input? What of 0? And what of the other gates? I answer them here.

Stability: Experimental.


from extra_boolean import *


parse("1")
parse("truthy")
parse("Not Off")
parse("Not Inactive")
# True

parse("cold")
parse("inactive")
parse("Negative Yes")
parse("Negative Aye")
# False

imply(True, False)
# False

eq(False, False)
# True

xor(True, True, True)
# True

select(1, True, False, True)
# False           ^

count(True, False, True)
# 2    ^            ^


Index

Function Action
parse Converts string to boolean.
not_ Checks if value is false.
and_ Checks if all values are true.
or_ Checks if any value is true.
xor Checks if odd no. of values are true.
nand Checks if any value is false.
nor Checks if all values are false.
xnor Checks if even no. of values are true.
eq Checks if antecedent ⇔ consequent (a ⇔ b).
neq Checks if antecedent ⇎ consequent (a ⇎ b).
imply Checks if antecedent ⇒ consequent (a ⇒ b).
nimply Checks if antecedent ⇏ consequent (a ⇏ b).
select Checks if ith value is true.
count Counts no. of true values.


References



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

extra-boolean-1.0.6.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

extra_boolean-1.0.6-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file extra-boolean-1.0.6.tar.gz.

File metadata

  • Download URL: extra-boolean-1.0.6.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.7

File hashes

Hashes for extra-boolean-1.0.6.tar.gz
Algorithm Hash digest
SHA256 b93d8b86f7dedde075d16df11cb7db0a6c2edd4b1f510cad3f7ea40f773691c3
MD5 47168a2bcf0cbced972d31d2ea3e83c1
BLAKE2b-256 c97c15a8645a16be7efa5eb3e81ecb34c275605550d209472e648e7d42d0c312

See more details on using hashes here.

File details

Details for the file extra_boolean-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: extra_boolean-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.7

File hashes

Hashes for extra_boolean-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7c0bb6520f8451bee7c277f3160f1051c5c40bcc542631e56a046f7634834275
MD5 591f10a194a04a78d98338e4139e34f9
BLAKE2b-256 1f54ef25ac6b22ef9832a626ceaf86d878e89408db5df007e58f398b1866c02e

See more details on using hashes here.

Supported by

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