Class: Wrnap::Package::FftPopulation::PopulationProportion

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/wrnap/package/fft_population.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(time, proportion) ⇒ PopulationProportion

Returns a new instance of PopulationProportion.



13
14
15
# File 'lib/wrnap/package/fft_population.rb', line 13

def initialize(time, proportion)
  @proportion_over_time = time.zip(proportion)
end

Instance Attribute Details

#proportion_over_timeObject (readonly)

Returns the value of attribute proportion_over_time.



11
12
13
# File 'lib/wrnap/package/fft_population.rb', line 11

def proportion_over_time
  @proportion_over_time
end

Instance Method Details

#eachObject



24
25
26
# File 'lib/wrnap/package/fft_population.rb', line 24

def each
  proportion_over_time.each { |_| yield _ }
end

#inspectObject



28
29
30
31
32
33
34
35
# File 'lib/wrnap/package/fft_population.rb', line 28

def inspect
  "#<Wrnap::Package::Population::PopulationProportion time: (%f..%f), proportion: (%f..%f)>" % [
    time_points[0],
    time_points[-1],
    proportion_points[0],
    proportion_points[-1],
  ]
end

#proportion_pointsObject



22
# File 'lib/wrnap/package/fft_population.rb', line 22

def proportion_points; proportion_over_time.map(&:last); end

#time_pointsObject



21
# File 'lib/wrnap/package/fft_population.rb', line 21

def time_points; proportion_over_time.map(&:first); end

#time_range(from, to) ⇒ Object



17
18
19
# File 'lib/wrnap/package/fft_population.rb', line 17

def time_range(from, to)
  proportion_over_time.select { |time, _| ((from.to_f)..(to.to_f)) === time }
end