File algebra.rb
has 310 lines of code (exceeds 250 allowed). Consider refactoring.
module Silicium
require_relative 'algebra_diff'
require_relative 'polynomial_division'
Class OrientedGraph
has 23 methods (exceeds 20 allowed). Consider refactoring.
class OrientedGraph
def initialize(initializer = [])
@vertices = {}; @vertex_labels = {}
@edge_labels = {}; @edge_number = 0
initializer.each do |v|
Method polynom_parser
has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
def polynom_parser(str)
copy_str = str.clone
sgn_array = []
if copy_str[0] != '-'
sgn_array.push('+')
Method initialize_cf_deg
has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
def initialize_cf_deg(term, par_cf, par_deg)
return [term.to_f, 0] if free_term? term
cf = if par_cf.empty?
term.include?('-') ? -1 : 1
else
Method add
has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
def add(i_pos, j_pos, elem)
if i_pos > @n || j_pos > @m || i_pos.negative? || j_pos.negative?
raise 'out of range'
end
Method real_differentiration
has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
def real_differentiration(deg, coef_diff)
loop do
j = deg
loop do
coef_diff[deg - 1][j - 1] = coef_diff[deg][j] * j
Method minimal_convex_hull_2d
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
def minimal_convex_hull_2d(points)
return points if not_polygon?(points)
points.sort_by! { |p| [p.x, p.y] }
first = points[0]