def factor(base = nil)
      valid_base?(base)

      return AVERAGE_FACTOR if base.nil?
      return adjusted_factor(1, base) if atom.zero?

      adjusted_factor(atom, base)
    end
def factor(base = nil)
      valid_base?(base)

      return AVERAGE_FACTOR if base.nil?
      return adjusted_factor(1, base) if atom.zero?

      adjusted_factor(atom, base)
    end
@param [Numeric] atom The atom value

 The Year factor

 @param [ISO8601::DateTime, nil] base (nil) The base datetime to compute
   the year length.

 @return [Integer]