Class: HDL::SchemaChip::Evaluator
- Inherits:
-
Object
- Object
- HDL::SchemaChip::Evaluator
- Defined in:
- lib/hdl/chip/schema_chip/evaluator.rb
Instance Method Summary collapse
- #evaluate(pins) ⇒ Object
-
#initialize(chip, schema) ⇒ Evaluator
constructor
A new instance of Evaluator.
Constructor Details
#initialize(chip, schema) ⇒ Evaluator
Returns a new instance of Evaluator.
3 4 5 6 7 8 9 10 |
# File 'lib/hdl/chip/schema_chip/evaluator.rb', line 3 def initialize(chip, schema) @chip = chip @schema = schema @parts = partition_io @order = evaluation_order(@parts, chip.inputs) check_multi_internal! end |
Instance Method Details
#evaluate(pins) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/hdl/chip/schema_chip/evaluator.rb', line 12 def evaluate(pins) results = @order.inject(pins) do |known_pins, i| known_pins.merge(evaluate_line(@parts[i], known_pins)) end filter_outputs(results) end |