Pseudocode interpretation
===

How would the following pseudocode translate into Python?

    function IntNoise(32-bit integer: x)			 

        x = (x<<13) ^ x;
        return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);    

    end IntNoise function  

I'm not sure about the following items: the '32-bit integer:x' argument in the IntNoise call ; the '<<', and the '&7fffffff'

The function is a random number generator from this webpage http://freespace.virgin.net/hugo.elias/models/m_perlin.htm