Class: Statsample::Combination::CombinationGsl

Inherits:
Object
  • Object
show all
Defined in:
lib/statsample/combination.rb

Overview

rb-gsl engine for Combinations

Instance Method Summary collapse

Constructor Details

#initialize(k, n) ⇒ CombinationGsl

:nodoc:



88
89
90
91
92
93
94
# File 'lib/statsample/combination.rb', line 88

def initialize(k,n)
  require 'gsl'
  raise "k<=n" if k>n
  @k=k
  @n=n
  reset
end

Instance Method Details

#eachObject



106
107
108
109
110
111
# File 'lib/statsample/combination.rb', line 106

def each
  reset
  begin
  yield @c.data.to_a
  end while @c.next == GSL::SUCCESS
end

#next_valueObject



98
99
100
101
102
103
104
105
# File 'lib/statsample/combination.rb', line 98

def next_value
  return false if !@c
  data=@c.data.to_a
  if @c.next != GSL::SUCCESS
    @c=false
  end
  return data
end

#resetObject



95
96
97
# File 'lib/statsample/combination.rb', line 95

def reset
  @c= ::GSL::Combination.calloc(@n, @k);
end