Add files via upload

This commit is contained in:
Mateusz779 2021-08-27 18:34:43 +02:00 committed by GitHub
parent ffabd2fcf6
commit ae205f8738
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,37 +13,39 @@ from multiprocessing.dummy import Pool as Pool
from tqdm import tqdm from tqdm import tqdm
import argparse import argparse
parser = argparse.ArgumentParser(description='The script computes the number pi.')
parser.add_argument('-t', '--threads', help="Number of threads deffault 4", required=False,type=int, default=4)
parser.add_argument('-c', '--count', help="Number of numbers after the point deffault 10000", required=False,type=int, default=10000)
parser.add_argument('-f', '--filename', help="File to save result", required=False)
args = parser.parse_args()
threads=args.threads
count = args.count #number of numbers after the point
thread_list = []
count=count+1
list_all = {}
pbar = tqdm(total =count)
def pi(start): def pi(start):
getcontext().prec=count-start getcontext().prec=count-start
for k in range (start,int(start+one_count)): for k in range (start,int(start+one_count)):
pbar.update(1) pbar.update(1)
list_all[k]=(1/Decimal(16)**k * (Decimal(4)/(8*k+1) - Decimal(2)/(8*k+4) - Decimal(1)/(8*k+5) - Decimal(1)/(8*k+6))) list_all[k]=(1/Decimal(16)**k * (Decimal(4)/(8*k+1) - Decimal(2)/(8*k+4) - Decimal(1)/(8*k+5) - Decimal(1)/(8*k+6)))
def main():
global count
global pbar
global list_all
global tasks
global one_count
parser = argparse.ArgumentParser(description='The script computes the number pi.')
parser.add_argument('-t', '--threads', help="Number of threads default 4", required=False,type=int, default=4)
parser.add_argument('-c', '--count', help="Number of numbers after the point default 10000", required=False,type=int, default=10000)
parser.add_argument('-f', '--filename', help="File to save result", required=False)
args = parser.parse_args()
threads=args.threads
count = args.count #number of numbers after the point
start_table = [] start_table = []
if count > 500: if count > 500:
tasks=int(threads*(count/1000)) tasks=int(threads*(count/1000))
else: else:
tasks=1 tasks=1
count=count+1
list_all = {}
pbar = tqdm(total = count)
one_count=int(count/tasks) one_count=int(count/tasks)
def main():
start_table = [int((one_count * i)) for i in range(tasks)] start_table = [int((one_count * i)) for i in range(tasks)]
start = time.time() start = time.time()
with Pool(processes=threads) as pool: with Pool(processes=threads) as pool:
results = pool.starmap( results = pool.starmap(