/* Generate 16 bit random numbers using LCG. Constants from here: https://en.wikipedia.org/wiki/Linear_congruential_generator */ #include #define OUTPUT_WIDTH 256 #define OUTPUT_HEIGHT 256 static int state = 1; static int lcg_random() { state = state * 1103515245 + 12345; return (state >> 15) & 0xffff; } int main(int argc, char **argv) { int x, y; printf("P2\n%d %d\n255\n", OUTPUT_WIDTH, OUTPUT_HEIGHT); for(y = 0; y < OUTPUT_HEIGHT; y++) { for(x = 0; x < OUTPUT_WIDTH; x++) printf(" %d", lcg_random() >> 8); putchar('\n'); } return 0; }