Re: Simple Recursive Generator Question

From: Skip Montanaro (skip_at_pobox.com)
Date: 12/19/03


Date: Fri, 19 Dec 2003 15:08:12 -0600
To: jcb@iteris.com (MetalOne)


    jcb> This is what I have, but it does not work.

    jcb> def bitIndexGenerator(mask, index=0):
    jcb> if mask == 0: return
    jcb> elif mask & 0x1: yield index
    jcb> bitIndexGenerator(mask >> 1, index+1)

Try:

    def bitIndexGenerator(mask, index=0):
        if mask == 0:
            return
        elif mask & 0x1:
            yield index
        for index in bitIndexGenerator(mask >> 1, index+1):
            yield index

Skip