def none_of(*field_names)
      [].tap do |list|
        lack_num = any_of_number(*field_names)
        self.each_value { |num| list << num if (num & lack_num) == 0 }
      end
    end
def none_of(*field_names)
      [].tap do |list|
        lack_num = any_of_number(*field_names)
        self.each_value { |num| list << num if (num & lack_num) == 0 }
      end
    end
Gives you an array of values where all of these bits of the field names
 list is set to false (ie without all of these bits as true).

 Possible values are derived from the bits list during initialization.

 Note: Order is not guaranteed. All numbers will be present, but there is
 no expectation that the numbers will be in the same order every time. If
 you need an ordered list, you can sort the result.

 @param [Symbol, Integer] one or more keys for the field name or an integer
    for a known bit index

 @example Retrieve a list for even numbers, or uncool numbers
   gen = BitsGenerator.new(:is_odd => 0, :amount => [1, 2, 3], :is_cool => 4)
   gen.none_of(:is_odd) #=> [0, 2, 4, 8, 16, 6, 10, 18, 12, 20, 24, 14, 22, 26, 28, 30]
   gen.none_of(:is_cool) #=> [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]
   gen.none_of(:is_odd, :is_cool) #=> [0, 2, 4, 8, 6, 10, 12, 14]
   gen.none_of(:is_odd, :is_cool, :amount) #=> [0]

 @return [Array<Integer>] an array of integer values with all bits of given
   field names unset (false, bit is 0). Will be blank if no field names given.