Class: Factbase::Min

Inherits:
TermBase show all
Defined in:
lib/factbase/terms/min.rb

Overview

The ‘min’ term. This term calculates the minimum value among the evaluated operands.

Constant Summary collapse

MIN =
Factbase::Best.new { |v, b| v < b }

Instance Method Summary collapse

Methods inherited from TermBase

#to_s

Constructor Details

#initialize(operands) ⇒ Min

Constructor.

Parameters:

  • operands (Array)

    Operands



17
18
19
20
21
# File 'lib/factbase/terms/min.rb', line 17

def initialize(operands)
  super()
  @operands = operands
  @op = :min
end

Instance Method Details

#evaluate(_fact, maps, _fb) ⇒ Object

Evaluate term on a fact.

Parameters:

Returns:

  • (Object)

    The minimum value among the evaluated operands



28
29
30
31
# File 'lib/factbase/terms/min.rb', line 28

def evaluate(_fact, maps, _fb)
  assert_args(1)
  MIN.evaluate(@operands[0], maps)
end