Aliquot Sequence Research
2.0
Compute properties of the sum-of-proper-divisors function.
|
Go to the documentation of this file.
10 #ifndef POMYANG_KPARENT_INC_MOEWSMOEWS_SIEVE_H_
11 #define POMYANG_KPARENT_INC_MOEWSMOEWS_SIEVE_H_
16 #include <sys/types.h>
165 #endif // POMYANG_KPARENT_INC_MOEWSMOEWS_SIEVE_H_
const sieve_config_t * cfg
Definition: moewsmoews_sieve.h:72
size_t seg_start
Definition: moewsmoews_sieve.h:73
ssize_t last_sieve_standard
Definition: moewsmoews_sieve.h:76
size_t seg_len
Definition: moewsmoews_sieve.h:39
uint64_t * q_buf
Definition: moewsmoews_sieve.h:75
uint64_t * sigma_buf
Definition: moewsmoews_sieve.h:74
sieve_config_t * moews_init_sieve(size_t bound, size_t seg_len)
creates a sieve_config_t which is shared by a pool of workers
Definition: moewsmoews_sieve.c:201
size_t primes_len
Definition: moewsmoews_sieve.h:41
void moews_sieve_odd_standard(sieve_worker_t *worker, uint64_t seg_start)
runs sieve for odd sigma(m)
Definition: moewsmoews_sieve.c:245
Worker which holds state about a single thread running the sieve.
Definition: moewsmoews_sieve.h:71
size_t moews_estimate_heap_usage(size_t bound, size_t seg_len, size_t num_workers)
estimates how much heap the sieving buffers will require
Definition: moewsmoews_sieve.c:297
Configuration and computed values needed to operate sieve, only 1 needed for multiple threads.
Definition: moewsmoews_sieve.h:37
void destroy_worker(sieve_worker_t *worker)
free's memory associated with sieve_worker_t
Definition: moewsmoews_sieve.c:237
bool * is_prime_buf
Definition: moewsmoews_sieve.h:78
bool squared
Definition: moewsmoews_sieve.h:77
uint64_t moews_lookup_sigma_m(const sieve_worker_t *worker, uint64_t m)
lookup sigma(m) from m in a sieved block
Definition: moewsmoews_sieve.c:263
uint64_t moews_lookup_sigma_m_squared(const sieve_worker_t *worker, uint64_t m)
lookup sigma(m * m) from m in a sieved block
Definition: moewsmoews_sieve.c:275
void moews_sieve_odd_squared(sieve_worker_t *worker, uint64_t seg_start)
takes odd m in range and runs sieve for sigma(m * m)
Definition: moewsmoews_sieve.c:258
size_t buf_len
Definition: moewsmoews_sieve.h:40
void moews_destroy_sieve(sieve_config_t *cfg)
free's memory associated with sieve_config_t
Definition: moewsmoews_sieve.c:220
bool moews_check_prime(const sieve_worker_t *worker, uint64_t m)
checks if odd numbers in range (seg_start, seg_start + seg_len) is prime
Definition: moewsmoews_sieve.c:287
sieve_worker_t * moews_init_worker(const sieve_config_t *cfg)
creates a worker object which can be used to run the sieve
Definition: moewsmoews_sieve.c:226
uint32_t * primes
Definition: moewsmoews_sieve.h:42
size_t bound
Definition: moewsmoews_sieve.h:38