#ifndef SIEVE_H #define SIEVE_H #include typedef struct sieve { unsigned char *bytes; int nbytes; int64_t maxNum; int64_t *primes; int nprimes; } sieve; void sieve_init(sieve *s, int64_t max); void sieve_free(sieve *s); void sieve_generate(sieve *s); void sieve_factor(sieve *s, int64_t num, int64_t *buf); #endif