The two implementations are exactly the same, except that they use different random data.
TYPE_0 always uses magic numbers 1103515245 and 12345 along with the current state.
Otherwise, it uses magic numbers taken from the random data pool. Each time he is called, he goes a little further along the pool. As this happens, he replaces the data with new pseudo-random numbers based on the original ones, so that he gets new numbers when he turns around and starts walking again.
source share