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 ^ ^
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. |
- How to Build Your Very First Python Package
- Test Python package publishing with the Test Python Package Index
- How to use setup.py to install dependencies only?
- install_requires vs requirements files
- What does the “-U” option stand for in pip install -U
- Getting Started With Testing in Python
- Import parent directory for brief tests
- pytest: Most useful command-line options
- How to do relative imports in Python?
- How do I use a keyword as a variable name?
- pdoc: Auto-generate API documentation for Python projects
- Docstrings in Python
- PEP 257 -- Docstring Conventions
- PEP 8 -- Style Guide for Python Code
- Twine is asking for my password each time : how to use the .pypirc
- TravisCI: Building Pull Requests
- TravisCI: Building a Python Project
- Creating a clean gh-pages branch
- How to show only next line after the matched one?
- How To Check If a Directory Exists In a Shell Script
- How do I trim leading and trailing whitespace from each line of some output?
- Bash if..else Statement