Class: IntervalNotation::BasicIntervals::Point

Inherits:
Object
  • Object
show all
Defined in:
lib/interval_notation/basic_intervals.rb

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Point

Returns a new instance of Point.

Raises:



168
169
170
171
# File 'lib/interval_notation/basic_intervals.rb', line 168

def initialize(value)
  raise Error, "Point can't represent an infinity"  unless value.to_f.finite?
  @value = value
end

Instance Method Details

#==(other) ⇒ Object



194
# File 'lib/interval_notation/basic_intervals.rb', line 194

def ==(other); other.is_a?(Point) && value == other.value; end

#closureObject



188
# File 'lib/interval_notation/basic_intervals.rb', line 188

def closure; self; end

#deep_include_position?(pos) ⇒ Boolean

include position and its vicinity (point can’t include vicinity of a position)

Returns:

  • (Boolean)


200
201
202
# File 'lib/interval_notation/basic_intervals.rb', line 200

def deep_include_position?(pos)
  false
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


193
# File 'lib/interval_notation/basic_intervals.rb', line 193

def eql?(other); other.class.equal?(self.class) && value == other.value; end

#finite?Boolean

Returns:

  • (Boolean)


179
# File 'lib/interval_notation/basic_intervals.rb', line 179

def finite?; true; end

#fromObject



172
# File 'lib/interval_notation/basic_intervals.rb', line 172

def from; value; end

#from_finite?Boolean

Returns:

  • (Boolean)


177
# File 'lib/interval_notation/basic_intervals.rb', line 177

def from_finite?; true; end

#hashObject



192
# File 'lib/interval_notation/basic_intervals.rb', line 192

def hash; @value.hash; end

#include_from?Boolean

Returns:

  • (Boolean)


185
# File 'lib/interval_notation/basic_intervals.rb', line 185

def include_from?; true; end

#include_position?(val) ⇒ Boolean

Returns:

  • (Boolean)


191
# File 'lib/interval_notation/basic_intervals.rb', line 191

def include_position?(val); value == val; end

#include_to?Boolean

Returns:

  • (Boolean)


186
# File 'lib/interval_notation/basic_intervals.rb', line 186

def include_to?; true; end

#inspectObject



183
# File 'lib/interval_notation/basic_intervals.rb', line 183

def inspect; to_s; end

#interval_boundaries(interval_index) ⇒ Object



195
196
197
# File 'lib/interval_notation/basic_intervals.rb', line 195

def interval_boundaries(interval_index)
  BoundaryPoint.new(from, true, nil, interval_index, false)
end

#lengthObject



181
# File 'lib/interval_notation/basic_intervals.rb', line 181

def length; 0; end

#singular_point?Boolean

Returns:

  • (Boolean)


190
# File 'lib/interval_notation/basic_intervals.rb', line 190

def singular_point?; true; end

#toObject



173
# File 'lib/interval_notation/basic_intervals.rb', line 173

def to; value; end

#to_finite?Boolean

Returns:

  • (Boolean)


178
# File 'lib/interval_notation/basic_intervals.rb', line 178

def to_finite?; true; end

#to_interval_setObject



175
# File 'lib/interval_notation/basic_intervals.rb', line 175

def to_interval_set; IntervalSet.new([self]); end

#to_sObject



182
# File 'lib/interval_notation/basic_intervals.rb', line 182

def to_s; "{#{@value}}"; end