コード例 #1
0
ファイル: A000006.c プロジェクト: stubbscroll/OEIS
int main() {
	unsigned long long n,i=1;
	for(n=2;n<SMALL;n++) if(isprime((int)n)) printf("%llu %d\n",i++,intsqrt(n));
	if(n%2==0) n++;
	for(;n<(1ULL<<32);n+=2) {
		if(millerrabin((unsigned int)n)) printf("%llu %d\n",i++,intsqrt(n));
	}
	for(;n<(1ULL<<63);n+=2) {
		if(ullmillerrabin(n)) printf("%llu %d\n",i++,intsqrt(n));
	}
	return 0;
}
コード例 #2
0
ファイル: fox.c プロジェクト: The-coders/fox
void grid_setup(struct grid_info *grid) {
    /* obtener datos globales */
    MPI_Comm_size(MPI_COMM_WORLD, &(grid->nr_world_processes));
    MPI_Comm_rank(MPI_COMM_WORLD, &(grid->my_world_rank));

    /* calcular cuantos procesos por lado tendra la grilla */
    grid->ppside = intsqrt(grid->nr_world_processes);

    /* crear comunicador para topologia de grilla */
    int dimensions[2]  = {grid->ppside, grid->ppside};
    int wrap_around[2] = {TRUE, TRUE};
    int reorder = TRUE;
    MPI_Cart_create(MPI_COMM_WORLD, 2, dimensions, wrap_around, reorder, &(grid->comm));
    MPI_Comm_rank(grid->comm, &(grid->my_rank));

    /* obtener coordenadas grillisticas del proceso */
    int coordinates[2];
    MPI_Cart_coords(grid->comm, grid->my_rank, 2, coordinates);
    grid->my_row = coordinates[0];
    grid->my_col = coordinates[1];

    /* obtener comunicadores para la fila y la columna del proceso */
    int free_coords_for_rows[] = {FALSE, TRUE};
    int free_coords_for_cols[] = {TRUE, FALSE};
    MPI_Cart_sub(grid->comm, free_coords_for_rows, &(grid->row_comm));
    MPI_Cart_sub(grid->comm, free_coords_for_cols, &(grid->col_comm));
}
コード例 #3
0
ファイル: gintsqrt.c プロジェクト: weichert/gintsqrt
int main(int argc, char *argv[])
{
    struct arguments arguments;
    int rad;
    
    argp_parse(&argp, argc, argv, 0, 0, &arguments);
    rad = atoi(arguments.args[0]);
    printf("%d\n",intsqrt(rad));
    exit(0);
}