init
This commit is contained in:
		
						commit
						dc0c8349c7
					
				
					 18 changed files with 666 additions and 0 deletions
				
			
		
							
								
								
									
										42
									
								
								tools/gen.d
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								tools/gen.d
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
#!/usr/bin/rdmd
 | 
			
		||||
 | 
			
		||||
import std.stdio : write, writef, writeln;
 | 
			
		||||
import std.random : Random, unpredictableSeed, uniform;
 | 
			
		||||
 | 
			
		||||
void main()
 | 
			
		||||
{
 | 
			
		||||
	enum N = 256;
 | 
			
		||||
	ulong[N] gear;
 | 
			
		||||
 | 
			
		||||
	auto rng = Random(unpredictableSeed);
 | 
			
		||||
 | 
			
		||||
	bool[ulong] seen;
 | 
			
		||||
	ulong[] vals;
 | 
			
		||||
	vals.reserve(N);
 | 
			
		||||
 | 
			
		||||
	while (vals.length < N)
 | 
			
		||||
	{
 | 
			
		||||
		const v = uniform!ulong(rng);
 | 
			
		||||
		if (v in seen)
 | 
			
		||||
			continue;
 | 
			
		||||
		seen[v] = true;
 | 
			
		||||
		vals ~= v;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	gear[] = vals[0 .. N];
 | 
			
		||||
 | 
			
		||||
	writeln("immutable ulong[256] gear = [");
 | 
			
		||||
	foreach (i, v; gear)
 | 
			
		||||
	{
 | 
			
		||||
		if (i % 4 == 0)
 | 
			
		||||
			write("\t");
 | 
			
		||||
		writef("0x%016x", v);
 | 
			
		||||
		if (i != N - 1)
 | 
			
		||||
			write(",");
 | 
			
		||||
		if ((i + 1) % 4 == 0 || i == N - 1)
 | 
			
		||||
			writeln();
 | 
			
		||||
		else
 | 
			
		||||
			write(" ");
 | 
			
		||||
	}
 | 
			
		||||
	writeln("];");
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue