Sha256: e9b28a17f955980177e2125a56941ff181862c40f8645b164109bb677265c495

Contents?: true

Size: 442 Bytes

Versions: 1

Compression:

Stored size: 442 Bytes

Contents

require_relative 'multiple_state'

module IntervalNotation
  module SweepLine
    module TraceState

      # Class allows to observe whether sweep line is inside of exactly one of two intervals
      class SymmetricDifference < MultipleState
        def self.initial_state
          self.new([false, false])
        end

        def state_convolution
          inclusion_state[0] ^ inclusion_state[1]
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
interval_notation-0.2.0 lib/interval_notation/sweep_line/trace_state/symmetric_difference.rb