Parallel numerical verification of the σ_odd problem
October 6, 2018
|
Implementation of the sequential algorithms presented in the report. (Some functions are not use in this part. There are present here to be used by several parallel implementation.) More...
#include "../../common/sigmaodd/helper.hpp"
#include "../../common/sigmaodd/primes.hpp"
#include "sequential__inline.hpp"
Go to the source code of this file.
Namespaces | |
sequential | |
Typedefs | |
using | sequential::nat_type = sigmaodd::nat_type |
using | sequential::prime_type = sigmaodd::prime_type |
Functions | |
std::set< nat_type > | sequential::sequential_check_gentle_varsigma_odd (nat_type first_n, nat_type last_n, 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. More... | |
std::set< nat_type > | sequential::sequential_check_gentle_varsigma_odd (nat_type first_n, nat_type last_n, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type bad_last_n, 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. More... | |
void | sequential::sequential_check_varsigma_odd (nat_type first_n, nat_type last_n, bool print_bad=true, bool print_all=false, bool print_category=true, bool print_lower=true, bool print_length=true, bool print_path=true) |
Check in the order all odd numbers between first_n and last_n. The consequence of the result is that: if all numbers < first_n respect the conjecture and first_iterate_varsigma_odd_until_lower() do not exits with impossible to check or cycle found, then all numbers <= last_n respect the conjecture. More... | |
void | sequential::sequential_check_varsigma_odd_perfect_square (nat_type n, bool print=true, bool print_lower=true, bool print_length=true, bool print_path=true) |
Return sequential_check_varsigma_odd(), but only for n perfect square. More... | |
void | sequential::sequential_check_varsigma_odd_complete (nat_type first_n, nat_type last_n, bool check_useless=false, bool print_bad=true, bool print_all=false, bool print_category=true, bool print_lower=true, bool print_length=true, bool print_path=true) |
Check completely (until 1) in the order all odd numbers between first_n and last_n. The consequence of the result is that: all odd numbers checked between first_n and last_n (included) respect the conjecture. More... | |
void | sequential::sequential_check_varsigma_odd_perfect_square_complete (nat_type n, bool print=true, bool print_lower=true, bool print_length=true, bool print_path=true) |
Return sequential_check_varsigma_odd_complete(), but only for n perfect square. More... | |
bool | sequential::sequential_is_varsigma_odd_lower (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n) |
Return true iff varsigma_odd(n) < n. More... | |
bool | sequential::sequential_is_varsigma_odd_lower (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type bad_last_n) |
Return true iff varsigma_odd(n) < n. More... | |
std::vector< nat_type > | sequential::sequential_iterate_varsigma_odd_until_1 (nat_type start_n) |
Iterate sequential_varsigma_odd(start_n) until to reach 1. Return this complete path. More... | |
std::vector< nat_type > | sequential::sequential_iterate_varsigma_odd_perfect_square_until_1 (nat_type start_n) |
Return sequential_iterate_varsigma_odd_until_1(), but only for n perfect square. More... | |
std::vector< nat_type > | sequential::sequential_iterate_varsigma_odd_until_lower (nat_type start_n) |
Iterate sequential_varsigma_odd(start_n) until to be have a result < start_n. Return this partial path. More... | |
std::vector< nat_type > | sequential::sequential_iterate_varsigma_odd_perfect_square_until_lower (nat_type start_n) |
Return sequential_iterate_varsigma_odd_until_lower(), but only for n perfect square. More... | |
constexpr nat_type | sequential::sequential_min_array (const nat_type ns[], size_t size) |
Return the minimum of the first size values of ns. More... | |
std::vector< nat_type > | sequential::sequential_print_in_order (const std::set< nat_type > &ns) |
Print number from ns, in increasing order and return a list of these number in the same order. More... | |
nat_type | sequential::sequential_varsigma_odd (nat_type n) |
Return varsigma_odd(n), i.e. the sum of all odd divisors of n, divided by 2 until to be odd. More... | |
nat_type | sequential::sequential_varsigma_odd_perfect_square (nat_type n) |
Return sequential_varsigma_odd(), but only for n perfect square. More... | |
std::set< nat_type > | sequential::sequential_varsigma_odd_greater_set (const std::vector< nat_type > &ns, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type bad_last_n) |
Return the set of n from ns such that varsigma_odd(n) > n. More... | |
constexpr nat_type | sequential::sequential_sigma_odd_upper_bound (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n) |
Return an upper bound of varsigma_odd(n). More... | |
constexpr nat_type | sequential::sequential_sigma_odd_upper_bound (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type bad_last_n) |
Return an upper bound of sigma_odd(n). More... | |
constexpr nat_type | sequential::sequential_sigma_odd_upper_bound_with_sqrt (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type sqrt_n) |
Return an upper bound of varsigma_odd(n). More... | |
constexpr nat_type | sequential::sequential_sigma_odd_upper_bound_with_sqrt (nat_type n, const std::set< nat_type > &bad_table, nat_type bad_first_n, nat_type bad_last_n, nat_type sqrt_n) |
Return an upper bound of sigma_odd(n). More... | |
Implementation of the sequential algorithms presented in the report. (Some functions are not use in this part. There are present here to be used by several parallel implementation.)
(January 17, 2018) GPLv3 — Copyright (C) 2017, 2018 Olivier Pirson http://www.opimedia.be/
Definition in file sequential.hpp.