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:



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

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

Instance Method Details

#==(other) ⇒ Object



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

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

#closureObject



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

def closure; self; end

#deep_include_position?(pos) ⇒ Boolean

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

Returns:

  • (Boolean)


211
212
213
# File 'lib/interval_notation/basic_intervals.rb', line 211

def deep_include_position?(pos)
  false
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#finite?Boolean

Returns:

  • (Boolean)


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

def finite?; true; end

#fromObject



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

def from; value; end

#from_finite?Boolean

Returns:

  • (Boolean)


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

def from_finite?; true; end

#from_infinite?Boolean

Returns:

  • (Boolean)


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

def from_infinite?; false; end

#hashObject



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

def hash; @value.hash; end

#include_from?Boolean

Returns:

  • (Boolean)


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

def include_from?; true; end

#include_position?(val) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#include_to?Boolean

Returns:

  • (Boolean)


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

def include_to?; true; end

#infinite?Boolean

Returns:

  • (Boolean)


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

def infinite?; false; end

#inspectObject



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

def inspect; to_s; end

#interval_boundaries(interval_index) ⇒ Object



206
207
208
# File 'lib/interval_notation/basic_intervals.rb', line 206

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

#lengthObject



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

def length; 0; end

#singular_point?Boolean

Returns:

  • (Boolean)


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

def singular_point?; true; end

#toObject



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

def to; value; end

#to_finite?Boolean

Returns:

  • (Boolean)


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

def to_finite?; true; end

#to_infinite?Boolean

Returns:

  • (Boolean)


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

def to_infinite?; false; end

#to_interval_setObject



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

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

#to_sObject



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

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