Parallel numerical verification of the σ_odd problem
October 6, 2018
|
Typedefs | |
using | nat_type = sigmaodd::nat_type |
using | prime_type = sigmaodd::prime_type |
Functions | |
std::set< nat_type > | threads_check_gentle_varsigma_odd__by_range (unsigned int nb_thread, nat_type first_n, nat_type last_n, const std::set< nat_type > &previous_bad_table, bool print_bad, unsigned int range_size) |
std::set< nat_type > | threads_check_gentle_varsigma_odd__dynamic (unsigned int nb_thread, nat_type first_n, nat_type last_n, const std::set< nat_type > &previous_bad_table=std::set< nat_type >(), bool print_bad=true, unsigned int range_size=20000, unsigned int master_range_size=200) |
Check in the order all odd gentle numbers between first_n and last_n, and if print_bad then print all bad numbers between first_n and last_n (included). The consequence of the result is that: if (all numbers < first_n respect the conjecture) and (all perfect squares < last_n respect the conjecture) and (all bad numbers < last_n respect the conjecture) then all numbers < last_n respect the conjecture. More... | |
std::set< nat_type > | threads_check_gentle_varsigma_odd__one_by_one (unsigned int nb_thread, nat_type first_n, nat_type last_n, const std::set< nat_type > &previous_bad_table, bool print_bad) |
using threads::nat_type = typedef sigmaodd::nat_type |
Definition at line 25 of file threads.hpp.
using threads::prime_type = typedef sigmaodd::prime_type |
Definition at line 26 of file threads.hpp.
std::set< nat_type > threads::threads_check_gentle_varsigma_odd__by_range | ( | unsigned int | nb_thread, |
nat_type | first_n, | ||
nat_type | last_n, | ||
const std::set< nat_type > & | previous_bad_table = std::set< nat_type >() , |
||
bool | print_bad = true , |
||
unsigned int | range_size = 2000 |
||
) |
Check in the order all odd gentle numbers between first_n and last_n, and if print_bad then print all bad numbers between first_n and last_n (included). The consequence of the result is that: if (all numbers < first_n respect the conjecture) and (all perfect squares < last_n respect the conjecture) and (all bad numbers < last_n respect the conjecture) then all numbers < last_n respect the conjecture.
One master thread dispatch one range of numbers for each of the (nb_thread - 1) slaves threads and compute itself one range. Then wait that they all finish, and so forth with next numbers.
Printing is do in increasing order.
sigmaodd::primes.cpp must be compiled without the macro PRIME16.
nb_thread | >= 1 |
first_n | 3 <= odd <= last_n |
last_n | <= MAX_POSSIBLE_N |
previous_bad_table | if not empty then must be contains all bad numbers < first_n |
print_bad | |
range_size | even |
Definition at line 27 of file threads.cpp.
std::set< nat_type > threads::threads_check_gentle_varsigma_odd__dynamic | ( | unsigned int | nb_thread, |
nat_type | first_n, | ||
nat_type | last_n, | ||
const std::set< nat_type > & | previous_bad_table = std::set< nat_type >() , |
||
bool | print_bad = true , |
||
unsigned int | range_size = 20000 , |
||
unsigned int | master_range_size = 200 |
||
) |
Check in the order all odd gentle numbers between first_n and last_n, and if print_bad then print all bad numbers between first_n and last_n (included). The consequence of the result is that: if (all numbers < first_n respect the conjecture) and (all perfect squares < last_n respect the conjecture) and (all bad numbers < last_n respect the conjecture) then all numbers < last_n respect the conjecture.
One master thread dispatch one range of numbers for each of the (nb_thread - 1) slaves threads and compute itself one range. There is no barrier, the master thread dispatch new range for free slave threads and compute itself one new range. And so forth with next numbers.
Printing is do in increasing order.
sigmaodd::primes.cpp must be compiled without the macro PRIME16.
nb_thread | >= 1 |
first_n | 3 <= odd <= last_n |
last_n | <= MAX_POSSIBLE_N |
previous_bad_table | if not empty then must be contains all bad numbers < first_n |
print_bad | |
range_size | even |
master_range_size | even |
Definition at line 107 of file threads.cpp.
std::set< nat_type > threads::threads_check_gentle_varsigma_odd__one_by_one | ( | unsigned int | nb_thread, |
nat_type | first_n, | ||
nat_type | last_n, | ||
const std::set< nat_type > & | previous_bad_table = std::set< nat_type >() , |
||
bool | print_bad = true |
||
) |
Check in the order all odd gentle numbers between first_n and last_n, and if print_bad then print all bad numbers between first_n and last_n (included). The consequence of the result is that: if (all numbers < first_n respect the conjecture) and (all perfect squares < last_n respect the conjecture) and (all bad numbers < last_n respect the conjecture) then all numbers < last_n respect the conjecture.
One master thread dispatch one number for each of the (nb_thread - 1) slaves threads and compute itself one number. Then wait that they all finish, and so forth with next numbers.
Printing is do in not deterministic order.
sigmaodd::primes.cpp must be compiled without the macro PRIME16.
nb_thread | >= 1 |
first_n | 3 <= odd <= last_n |
last_n | <= MAX_POSSIBLE_N |
previous_bad_table | if not empty then must be contains all bad numbers < first_n |
print_bad |
Definition at line 227 of file threads.cpp.