Crate gateutil

Crate gateutil 

Source
Expand description

The library of basic functions that operates on circuits provided by gatesim. This library provide set of functions that doing some operations on circuits. Routines provided to make following operations:

  • translate circuits inputs and circuit outputs.
  • fill outputs defined in output map.
  • generate circuits that have assigned values to original inputs.
  • generate optimized circuits that have assigned values to original inputs.
  • generate optimized and deduplicated circuits that have assigned values to original inputs.
  • optimize clause circuit.
  • deduplicate circuit or clause circuit.
  • optimize and deduplicate clause circuit.
  • generate circuit with negated inputs.
  • generate join of two circuits sequentially.
  • generate join of many circuits sequentially.
  • calculate minimal and maximal depth of circuit.
  • calculate minimal and maximal depth and depths for any gate of circuit.
  • generate pipelined circuit.
  • join input or output maps.

Some WARNINGS about using some routines. A optimization and deduplication routines are not completely tested and they can get wrong results in some specific input. They shouldn’t be used in deployed software.

Re-exports§

pub use gatesim;

Enums§

OutputEntry
Output entry to store assignment of value (for output and input).

Functions§

assign_to_circuit
Assigns inputs to circuit.
assign_to_circuit_and_optimize
Assigns inputs to circuit and optimize circuit.
assign_to_circuit_optimize_and_dedup
Assigns inputs to circuit, deduplicate and optimize circuit.
deduplicate
Deduplicates gates in circuit. It finds duplicates by comparing gate and its inputs.
deduplicate_clause_circuit
Deduplicate clauses and clause literals.
fill_outputs
Fill circuit outputs by zero or one wire based on output map given by assign_to_circuit.
join_circuits_seq
Join multiple circuits sequentially.
join_input_entry_and_input_map
Joins input/output maps from previous and next operation and returns joined input/output map.
join_input_map
Joins input/output maps from previous and next operation and returns joined input/output map.
join_output_entry_map
Joins input/output maps from previous and next operation and returns joined input/output map.
join_two_circuits
Join two circuits sequentially.
min_and_max_depth
Calculates minimal and maximal depth of circuit and depth for all circuit wires.
min_and_max_depth_list
Calculates minimal and maximal depth of circuit and depth for all circuit wires.
negate_inputs
Generates circuit with negated original circuit inputs from original circuit.
optimize_and_dedup_clause_circuit
Optimize and deduplicate clause circuit.
optimize_clause_circuit
Optimize clause circuit.
reverse_trans
Reverses translation table.
simple_pipeliner
Generates pipelined version of circuit.
translate_inputs
Translates circuit inputs using translation table.
translate_inputs_rev
Translates circuit inputs using reversed translation table.
translate_outputs
Translates circuit outputs using translation table.
translate_outputs_rev
Translates circuit outputs using reversed translation table.