circkit.bitwise

class circkit.bitwise.circuit.BitwiseCircuit(*args, **kwargs)

Bases: Circuit

Generic class for bitwise circuits (unsigned words).

__init__(*args, word_size=None, **kwargs)
class Operations

Bases: Operations

Class gathering Operation`s of :class:.ArithmeticCircuit`.

class AND(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class OR(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class XOR(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class NOT(*values, **kvalues)

Bases: Unary

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class SHL(*values, **kvalues)

Bases: Unary

Shift left

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class SHR(*values, **kvalues)

Bases: Unary

Shift right

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class ROL(*values, **kvalues)

Bases: Unary

Rotate left

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class ROR(*values, **kvalues)

Bases: Unary

Rotate left

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class ADD(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class SUB(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class MUL(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class DIV(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class MOD(*values, **kvalues)

Bases: Binary

eval(a, b)

Evaluate the operation on given inputs (typically values, not nodes).

class NEG(*values, **kvalues)

Bases: Unary

eval(a)

Evaluate the operation on given inputs (typically values, not nodes).

class LUT(*values, **kvalues)

Bases: Unary

eval(idx)

Evaluate the operation on given inputs (typically values, not nodes).

class RND(*values, **kvalues)

Bases: Nullary

eval()

Evaluate the operation on given inputs (typically values, not nodes).

Node

alias of Node

class ADD(*values, **kvalues)

Bases: ADD

class AND(*values, **kvalues)

Bases: AND

class CONST(*values, **kvalues)

Bases: CONST

class DIV(*values, **kvalues)

Bases: DIV

class GET(*values, **kvalues)

Bases: GET

class INPUT(*values, **kvalues)

Bases: INPUT

class LUT(*values, **kvalues)

Bases: LUT

class MOD(*values, **kvalues)

Bases: MOD

class MUL(*values, **kvalues)

Bases: MUL

class NEG(*values, **kvalues)

Bases: NEG

class NOT(*values, **kvalues)

Bases: NOT

Node_unlinked

alias of Node

class OR(*values, **kvalues)

Bases: OR

class RND(*values, **kvalues)

Bases: RND

class ROL(*values, **kvalues)

Bases: ROL

class ROR(*values, **kvalues)

Bases: ROR

class SHL(*values, **kvalues)

Bases: SHL

class SHR(*values, **kvalues)

Bases: SHR

class SUB(*values, **kvalues)

Bases: SUB

class XOR(*values, **kvalues)

Bases: XOR

class circkit.bitwise.ring.BitwiseRing(word_size)

Bases: object

Ring of fixed-width bit-words.

__init__(word_size)
fetch_int(value)

Call self as a function.

class Word(value, ring)

Bases: object

Wrapper for a bit-word.

Parameters
__init__(value, ring)
Parameters
class circkit.bitwise.ring.Word(value, ring)

Bases: object

Wrapper for a bit-word.

Parameters
__init__(value, ring)
Parameters