def __init__(self, seed=DEFAULT_SEED):
<EOL>perm = self._perm = [<NUM_LIT:0>] * <NUM_LIT> <EOL>perm_grad_index_3D = self._perm_grad_index_3D = [<NUM_LIT:0>] * <NUM_LIT><EOL>source = [i for i in range(<NUM_LIT:0>, <NUM_LIT>)]<EOL>seed = overflow(seed * <NUM_LIT> + <NUM_LIT>)<EOL>seed = overflow(seed * <NUM_LIT> + <NUM_LIT>)<EOL>seed = overflow(seed * <NUM_LIT> + <NUM_LIT>)<EOL>for i in range(<NUM_LIT:255>, -<NUM_LIT:1>, -<NUM_LIT:1>):<EOL><INDENT>seed = overflow(seed * <NUM_LIT> + <NUM_LIT>)<EOL>r = int((seed + <NUM_LIT>) % (i + <NUM_LIT:1>))<EOL>if r < <NUM_LIT:0>:<EOL><INDENT>r += i + <NUM_LIT:1><EOL><DEDENT>perm[i] = source[r]<EOL>perm_grad_index_3D[i] = int((perm[i] % (len(GRADIENTS_3D) / <NUM_LIT:3>)) * <NUM_LIT:3>)<EOL>source[r] = source[i]<EOL><DEDENT>
Initiate the class and generate permutation arrays from a seed number.