コード例 #1
0
int main() {
    Glider glider(0,0);
    GameOfLife gol(glider);
    gol.iterate(5);
    Blinker blinker(1,0);
    GameOfLife gol2(blinker);
    gol2.iterate(4);
}
コード例 #2
0
ファイル: main.c プロジェクト: TheProfitcy/classwork
int main(int argc, char *argv[])
{
	unsigned int dim_x = 80, dim_y = 40, time_steps = 80, num_threads = 3;

	if (argc > 1)
		time_steps = strtoul(argv[1], NULL, 0);

	if (argc > 2)
		dim_x = strtoul(argv[2], NULL, 0);

	if (argc > 3)
		dim_y = strtoul(argv[3], NULL, 0);

	if (argc > 4)
		num_threads = strtoul(argv[4], NULL, 0);

	if(dim_x < 9 || dim_y < 9)
	{
		printf("Invalid dim_x / dim_y!\n");
		exit(EXIT_FAILURE);
	}

	size_t size = sizeof(unsigned char) * dim_x * dim_y;
	unsigned char *grid = malloc(size);

	if(grid == NULL)
		exit(EXIT_FAILURE);

	memset(grid, 0, size);

	r_pentomino(grid, dim_x, dim_y, dim_x/2, dim_y/2);

	printf("\nGame of Life: time_steps = %u; dim_x = %u; dim_y = %u; threads = %u \n\n", time_steps, dim_x, dim_y, num_threads);

	print_gol(grid, dim_x, dim_y);

	printf("\n\n");

	struct timespec begin, end;

	clock_gettime(CLOCK_REALTIME, &begin);
	unsigned int living_cells = gol(grid, dim_x, dim_y, time_steps, num_threads);
	clock_gettime(CLOCK_REALTIME, &end);

	print_gol(grid, dim_x, dim_y);

	printf("Living Cells after %u time steps: %u\n", time_steps, living_cells);

	printf("\nProcessing Time: %.3lf seconds\n", ts_to_double(ts_diff(begin, end)));

	free(grid);

	return 0;
}
コード例 #3
0
ファイル: gol.cpp プロジェクト: eucall-software/DSP
int main(int argc, char** argv){

    if(argc < 3){
	std::cout << "Usage ./GoL [nCells] [nTimeteps]" << std::endl;
	return 0;
    }

    const unsigned nCells    = atoi(argv[1]);
    const unsigned nTimeSteps = atoi(argv[2]);


    gol(nCells, nTimeSteps);


    return 0;
}