code: def decode(self):
          r
          items = [reduce(operator.and_, boolfunc.num2term(i, self._items),
                          self.ftype.box(1))
                   for i in range(2 ** self.size)]
  
          return self.__class__(items, ftype=self.ftype)
docs: r"""Return a :math:`N \rightarrow 2^N` decoder.
  
          Example Truth Table for a 2:4 decoder:
  
          .. csv-table::
             :header: :math:`A_1`, :math:`A_0`, \
                      :math:`D_3`, :math:`D_2`, :math:`D_1`, :math:`D_0`
             :stub-columns: 2
  
             0, 0, 0, 0, 0, 1
             0, 1, 0, 0, 1, 0
             1, 0, 0, 1, 0, 0
             1, 1, 1, 0, 0, 0