def generate_numbers(self):
        for i in range(624):
            y = (self.MT[i] & 0x80000000) + (self.MT[(i+1)%624] & 0x7fffffff);
            self.MT[i] = self.MT[(i+397)%624] ^ (y >> 1);
            if ((y%2) != 0):
                self.MT[i] = self.MT[i] ^ 0x9908b0df;


## The below is taken from http://my.opera.com/metrallik/blog/2013/04/19/python-class-for-random-generation-with-mersenne-twister 
## It is used to test the above, which I wrote
dataset/ETHPy150Open reschly/cryptopals/prob21.py/MT19937.generate_numbers/original