Module: FigurateNumbers::Utils

Defined in:
lib/figurate_numbers/utils/utils.rb

Overview

Module containing utility methods for working with figurate number sequences.

Class Method Summary collapse

Class Method Details

.binomial_coefficient(n, k) ⇒ Object



14
15
16
# File 'lib/figurate_numbers/utils/utils.rb', line 14

def binomial_coefficient(n, k)
  factorial_iter(n) / (factorial_iter(k) * factorial_iter(n - k))
end

.factorial_iter(num) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/figurate_numbers/utils/utils.rb', line 6

def factorial_iter(num)
  t = 1
  (1..num).each do |i|
    t *= i
  end
  t
end

.pseudo_pochhammer_function(n, k) ⇒ Object



34
35
36
# File 'lib/figurate_numbers/utils/utils.rb', line 34

def pseudo_pochhammer_function(n, k)
  (n..(n + k - 2)).reduce(:*)
end

.pseudo_rising_factorial(n, k) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/figurate_numbers/utils/utils.rb', line 26

def pseudo_rising_factorial(n, k)
  t = 1
  (n..(n + k - 2)).each do |i|
    t *= i
  end
  t
end

.rising_factorial(n, k) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/figurate_numbers/utils/utils.rb', line 18

def rising_factorial(n, k)
  t = 1
  (n..(n + k - 1)).each do |i|
    t *= i
  end
  t
end