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
- .binomial_coefficient(n, k) ⇒ Object
- .factorial_iter(num) ⇒ Object
- .pseudo_pochhammer_function(n, k) ⇒ Object
- .pseudo_rising_factorial(n, k) ⇒ Object
- .rising_factorial(n, k) ⇒ Object
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 |