Module: Polymath::Nomial

Defined in:
lib/polymath/nomial/parser.rb,
lib/polymath/nomial/monomial.rb,
lib/polymath/nomial/polynomial.rb

Defined Under Namespace

Classes: Monomial, Parser, Polynomial

Class Method Summary collapse

Class Method Details

.random_polynomial(n = 3, cof_max: 100, skip_chance: 0.25) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/polymath/nomial/polynomial.rb', line 6

def self.random_polynomial(n=3, cof_max: 100, skip_chance: 0.25)
  degree = Integer(Random.rand() * n) + 1
  (0..degree).map { |deg|
    if Random.rand <= 1.0 - skip_chance
      "#{Integer(Random.rand * cof_max) - (cof_max / 2)}x^#{deg}"
    else
      "0"
    end
  }.compact.shuffle.join("+")
end