module RgGen::SystemVerilog::RTL::PartialSum
Private Instance Methods
calc_partial_sum(kind_ans_values)
click to toggle source
# File lib/rggen/systemverilog/rtl/partial_sum.rb, line 17 def calc_partial_sum(kind_ans_values) kind, values = kind_ans_values kind && values.sum || values end
integer?(value)
click to toggle source
# File lib/rggen/systemverilog/rtl/partial_sum.rb, line 22 def integer?(value) value.is_a?(Integer) end
partial_sums(operands)
click to toggle source
# File lib/rggen/systemverilog/rtl/partial_sum.rb, line 9 def partial_sums(operands) operands .chunk(&method(:integer?)) .flat_map(&method(:calc_partial_sum)) .reject { |value| integer?(value) && value.zero? } .tap { |sums| sums.empty? && (sums << 0) } end