Use OpenMP.
This commit is contained in:
		
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@@ -18,9 +18,9 @@ CC=gcc
 | 
				
			|||||||
DEBUG=0
 | 
					DEBUG=0
 | 
				
			||||||
PREFIX=/usr/local
 | 
					PREFIX=/usr/local
 | 
				
			||||||
INCFLAGS=
 | 
					INCFLAGS=
 | 
				
			||||||
LDFLAGS=-lm
 | 
					LDFLAGS=-lm -fopenmp
 | 
				
			||||||
DEFS=-DVERSION=\"1.0\"
 | 
					DEFS=-DVERSION=\"1.0\"
 | 
				
			||||||
CFLAGS=$(INCFLAGS) -std=c99 -Wall -Wextra -Wfatal-errors -Werror
 | 
					CFLAGS=$(INCFLAGS) -std=c99 -Wall -Wextra -Wfatal-errors -Werror -fopenmp
 | 
				
			||||||
HDRS=
 | 
					HDRS=
 | 
				
			||||||
OBJS=src/main.o
 | 
					OBJS=src/main.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <math.h>
 | 
					#include <math.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <omp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main(int argc, char *argv[]) {
 | 
					int main(int argc, char *argv[]) {
 | 
				
			||||||
	if(argc < 2)
 | 
						if(argc < 2)
 | 
				
			||||||
@@ -48,11 +49,14 @@ int main(int argc, char *argv[]) {
 | 
				
			|||||||
		return 1;
 | 
							return 1;
 | 
				
			||||||
	unsigned long long int test_root = sqrt(test_num);
 | 
						unsigned long long int test_root = sqrt(test_num);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						int not_prime = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						#pragma omp parallel for
 | 
				
			||||||
	for(unsigned long long int i = 3; i < test_root; i += 2)
 | 
						for(unsigned long long int i = 3; i < test_root; i += 2)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if(test_num % i == 0)
 | 
							if(test_num % i == 0)
 | 
				
			||||||
			return 1;
 | 
								not_prime = 1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return not_prime;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user