Polynomial long division: Difference between revisions

Content added Content deleted
Line 805: Line 805:
end
end
q = Array.new(numerator.length) {0}
q = [0] * numerator.length
while (dn = degree(numerator)) >= dd
while (dn = degree(numerator)) >= dd
Line 818: Line 818:


def degree(ary)
def degree(ary)
idx = ary.reverse.find_index {|x| x.nonzero?}
idx = ary.rindex {|x| x.nonzero?}
idx.nil? ? -1 : ary.length - 1 - idx
idx.nil? ? -1 : idx
end
end