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