637 lines
20 KiB
Plaintext
637 lines
20 KiB
Plaintext
From f5992c6e1069e230098aed13d160dcf8f9b3b718 Mon Sep 17 00:00:00 2001
|
|
From: Leorize <alaviss@users.noreply.github.com>
|
|
Date: Thu, 7 Dec 2017 20:49:15 +0700
|
|
Subject: use correct types
|
|
|
|
|
|
diff --git a/common/driver.c b/common/driver.c
|
|
index ffecfa9..d9344a5 100644
|
|
--- a/common/driver.c
|
|
+++ b/common/driver.c
|
|
@@ -174,7 +174,7 @@ void msieve_run(msieve_obj *obj) {
|
|
|
|
status = evaluate_expression(obj->input, &n);
|
|
if (status < 0 || mp_is_zero(&n)) {
|
|
- printf("error %d converting '%s'\n", status, obj->input);
|
|
+ printf("error %"PRId32" converting '%s'\n", status, obj->input);
|
|
obj->flags |= MSIEVE_FLAG_FACTORIZATION_DONE;
|
|
return;
|
|
}
|
|
diff --git a/common/lanczos/lanczos.c b/common/lanczos/lanczos.c
|
|
index b26185a..4852a4a 100644
|
|
--- a/common/lanczos/lanczos.c
|
|
+++ b/common/lanczos/lanczos.c
|
|
@@ -1220,9 +1220,9 @@ static uint64 * block_lanczos_core(msieve_obj *obj,
|
|
uint32 eta = elapsed * (max_n - dim_solved) /
|
|
(dim_solved - first_dim_solved);
|
|
|
|
- fprintf(stderr, "linear algebra completed %u "
|
|
- "of %u dimensions (%1.1f%%, ETA "
|
|
- "%dh%2dm) \r",
|
|
+ fprintf(stderr, "linear algebra completed %" PRIu32 " "
|
|
+ "of %" PRIu32 " dimensions (%1.1f%%, ETA "
|
|
+ "%" PRId32 "h%2" PRId32 "m) \r",
|
|
dim_solved, max_n, 100.0 * dim_solved /
|
|
max_n, eta / 3600, (eta % 3600) / 60);
|
|
|
|
diff --git a/common/smallfact/gmp_ecm.c b/common/smallfact/gmp_ecm.c
|
|
index fd1da3b..c3df19d 100644
|
|
--- a/common/smallfact/gmp_ecm.c
|
|
+++ b/common/smallfact/gmp_ecm.c
|
|
@@ -306,14 +306,14 @@ uint32 ecm_pp1_pm1(msieve_obj *obj, mp_t *n, mp_t *reduced_n,
|
|
|
|
if (log_rate && j == next_log) {
|
|
next_log += log_rate;
|
|
- fprintf(stderr, "%u of %u curves\r",
|
|
+ fprintf(stderr, "%" PRIu32 " of %" PRIu32 " curves\r",
|
|
j, curr_work->num_ecm_trials);
|
|
fflush(stderr);
|
|
}
|
|
}
|
|
|
|
if (log_rate)
|
|
- fprintf(stderr, "\ncompleted %u ECM curves\n", j);
|
|
+ fprintf(stderr, "\ncompleted %" PRIu32 " ECM curves\n", j);
|
|
}
|
|
|
|
clean_up:
|
|
diff --git a/demo.c b/demo.c
|
|
index a882732..a49dbb2 100644
|
|
--- a/demo.c
|
|
+++ b/demo.c
|
|
@@ -256,7 +256,7 @@ void factor_integer(char *buf, uint32 flags,
|
|
else
|
|
factor_type = "prp";
|
|
|
|
- printf("%s%d: %s\n", factor_type,
|
|
+ printf("%s%" PRId32 ": %s\n", factor_type,
|
|
(int32)strlen(factor->number),
|
|
factor->number);
|
|
factor = factor->next;
|
|
diff --git a/gnfs/fb.c b/gnfs/fb.c
|
|
index afaee24..15b33c2 100644
|
|
--- a/gnfs/fb.c
|
|
+++ b/gnfs/fb.c
|
|
@@ -100,7 +100,7 @@ void create_factor_base(msieve_obj *obj,
|
|
if (report_progress && (num_found_r > next_report ||
|
|
num_found_a > next_report)) {
|
|
fprintf(stderr, "factor base: found "
|
|
- "%u rational and %u "
|
|
+ "%" PRIu32 " rational and %" PRIu32 " "
|
|
"algebraic entries\r",
|
|
num_found_r, num_found_a);
|
|
fflush(stderr);
|
|
@@ -341,13 +341,13 @@ void write_factor_base(msieve_obj *obj, mpz_t n,
|
|
exit(-1);
|
|
}
|
|
fprintf(fp, "\n");
|
|
- fprintf(fp, "FRNUM %u\n", fb->rfb.num_entries);
|
|
- fprintf(fp, "FRMAX %u\n", fb->rfb.max_prime);
|
|
- fprintf(fp, "FANUM %u\n", fb->afb.num_entries);
|
|
- fprintf(fp, "FAMAX %u\n", fb->afb.max_prime);
|
|
+ fprintf(fp, "FRNUM %" PRIu32 "\n", fb->rfb.num_entries);
|
|
+ fprintf(fp, "FRMAX %" PRIu32 "\n", fb->rfb.max_prime);
|
|
+ fprintf(fp, "FANUM %" PRIu32 "\n", fb->afb.num_entries);
|
|
+ fprintf(fp, "FAMAX %" PRIu32 "\n", fb->afb.max_prime);
|
|
|
|
- fprintf(fp, "SRLPMAX %u\n", params->rfb_lp_size);
|
|
- fprintf(fp, "SALPMAX %u\n", params->afb_lp_size);
|
|
+ fprintf(fp, "SRLPMAX %" PRIu32 "\n", params->rfb_lp_size);
|
|
+ fprintf(fp, "SALPMAX %" PRIu32 "\n", params->afb_lp_size);
|
|
fprintf(fp, "SLINE %" PRIu64 "\n",
|
|
(uint64)(params->sieve_end - params->sieve_begin) / 2);
|
|
fprintf(fp, "\n");
|
|
@@ -355,10 +355,10 @@ void write_factor_base(msieve_obj *obj, mpz_t n,
|
|
i = 0;
|
|
side = &fb->rfb;
|
|
while (i < side->num_entries) {
|
|
- fprintf(fp, "%u %u", side->entries[i].p, side->entries[i].r);
|
|
+ fprintf(fp, "%" PRIu32 " %" PRIu32, side->entries[i].p, side->entries[i].r);
|
|
for (j = i + 1; j < side->num_entries &&
|
|
side->entries[j].p == side->entries[i].p; j++) {
|
|
- fprintf(fp, " %u", side->entries[j].r);
|
|
+ fprintf(fp, " %" PRIu32, side->entries[j].r);
|
|
}
|
|
fprintf(fp, "\n");
|
|
i = j;
|
|
@@ -367,10 +367,10 @@ void write_factor_base(msieve_obj *obj, mpz_t n,
|
|
i = 0;
|
|
side = &fb->afb;
|
|
while (i < side->num_entries) {
|
|
- fprintf(fp, "%u %u", side->entries[i].p, side->entries[i].r);
|
|
+ fprintf(fp, "%" PRIu32" %" PRIu32, side->entries[i].p, side->entries[i].r);
|
|
for (j = i + 1; j < side->num_entries &&
|
|
side->entries[j].p == side->entries[i].p; j++) {
|
|
- fprintf(fp, " %u", side->entries[j].r);
|
|
+ fprintf(fp, " %" PRIu32, side->entries[j].r);
|
|
}
|
|
fprintf(fp, "\n");
|
|
i = j;
|
|
diff --git a/gnfs/filter/duplicate.c b/gnfs/filter/duplicate.c
|
|
index cd50ead..59330c3 100644
|
|
--- a/gnfs/filter/duplicate.c
|
|
+++ b/gnfs/filter/duplicate.c
|
|
@@ -379,7 +379,7 @@ uint32 nfs_purge_duplicates(msieve_obj *obj, factor_base_t *fb,
|
|
}
|
|
|
|
if (curr_relation > 0 && (curr_relation % 10000000 == 0)) {
|
|
- printf("read %uM relations\n", curr_relation / 1000000);
|
|
+ printf("read %" PRIu32 "M relations\n", curr_relation / 1000000);
|
|
} /* there are no more errors -6/-11 to see progress */
|
|
|
|
/* relation is good; find the value to which it
|
|
diff --git a/gnfs/poly/poly_param.c b/gnfs/poly/poly_param.c
|
|
index fea29ed..9af0436 100644
|
|
--- a/gnfs/poly/poly_param.c
|
|
+++ b/gnfs/poly/poly_param.c
|
|
@@ -237,7 +237,7 @@ void get_poly_params(msieve_obj *obj, mpz_t n,
|
|
break;
|
|
|
|
default:
|
|
- printf("error: invalid degree %u\n", degree);
|
|
+ printf("error: invalid degree %" PRIu32 "\n", degree);
|
|
exit(-1);
|
|
}
|
|
|
|
diff --git a/gnfs/poly/poly_skew.c b/gnfs/poly/poly_skew.c
|
|
index 2656bf9..a27fdbe 100644
|
|
--- a/gnfs/poly/poly_skew.c
|
|
+++ b/gnfs/poly/poly_skew.c
|
|
@@ -55,12 +55,12 @@ rootopt_callback(void *extra, uint32 degree,
|
|
poly.combined_score = combined_score;
|
|
poly.skewness = skewness;
|
|
|
|
- printf("save %le %.4lf %.2lf %le rroots %u\n", size_score,
|
|
+ printf("save %le %.4lf %.2lf %le rroots %" PRIu32 "\n", size_score,
|
|
root_score, skewness, combined_score,
|
|
num_real_roots);
|
|
|
|
fprintf(data->all_poly_file,
|
|
- "# norm %le alpha %lf e %.3le rroots %u\nskew: %.2lf\n",
|
|
+ "# norm %le alpha %lf e %.3le rroots %" PRIu32 "\nskew: %.2lf\n",
|
|
size_score, root_score, combined_score,
|
|
num_real_roots, skewness);
|
|
for (i = 0; i <= degree; i++)
|
|
diff --git a/gnfs/poly/stage1/stage1.c b/gnfs/poly/stage1/stage1.c
|
|
index 9c7d612..7e55fd0 100644
|
|
--- a/gnfs/poly/stage1/stage1.c
|
|
+++ b/gnfs/poly/stage1/stage1.c
|
|
@@ -51,7 +51,7 @@ stage1_bounds_update(poly_search_t *poly, poly_coeff_t *c)
|
|
break;
|
|
|
|
default:
|
|
- printf("error: unexpected poly degree %d\n", degree);
|
|
+ printf("error: unexpected poly degree %" PRId32 "\n", degree);
|
|
exit(-1);
|
|
}
|
|
|
|
diff --git a/gnfs/poly/stage1/stage1_sieve_cpu.c b/gnfs/poly/stage1/stage1_sieve_cpu.c
|
|
index c3e93f3..b35d394 100644
|
|
--- a/gnfs/poly/stage1/stage1_sieve_cpu.c
|
|
+++ b/gnfs/poly/stage1/stage1_sieve_cpu.c
|
|
@@ -476,7 +476,7 @@ sieve_specialq_64(msieve_obj *obj, poly_search_t *poly,
|
|
num_p = hash_array.num_p;
|
|
num_roots = hash_array.num_roots;
|
|
#if 1
|
|
- printf("aprogs: %u entries, %u roots\n", num_p, num_roots);
|
|
+ printf("aprogs: %" PRIu32 " entries, %" PRIu32 " roots\n", num_p, num_roots);
|
|
#endif
|
|
|
|
block_size = (uint64)p_min * p_min;
|
|
@@ -608,7 +608,7 @@ sieve_specialq_64(msieve_obj *obj, poly_search_t *poly,
|
|
|
|
finished:
|
|
#if 1
|
|
- printf("hashtable: %u entries, %5.2lf MB\n",
|
|
+ printf("hashtable: %" PRIu32 " entries, %5.2lf MB\n",
|
|
(uint32)1 << hashtable_size_log2,
|
|
(double)sizeof(hash_entry_t) *
|
|
((uint32)1 << hashtable_size_log2) / 1048576);
|
|
@@ -712,7 +712,7 @@ sieve_lattice_cpu(msieve_obj *obj, poly_search_t *poly,
|
|
% num_pieces;
|
|
|
|
printf("randomizing rational coefficient: "
|
|
- "using piece #%u of %u\n",
|
|
+ "using piece #%" PRIu32 " of %" PRIu32 "\n",
|
|
piece + 1, num_pieces);
|
|
|
|
special_q_min2 = special_q_min + piece * piece_length;
|
|
diff --git a/gnfs/poly/stage2/optimize_deg6.c b/gnfs/poly/stage2/optimize_deg6.c
|
|
index 018dc17..69ca3c5 100644
|
|
--- a/gnfs/poly/stage2/optimize_deg6.c
|
|
+++ b/gnfs/poly/stage2/optimize_deg6.c
|
|
@@ -334,7 +334,7 @@ parse_objective(multi_poly_t *poly, char *objective)
|
|
break;
|
|
|
|
default:
|
|
- printf("parse error: %u '%s'\n", i, tmp);
|
|
+ printf("parse error: %" PRIu32 " '%s'\n", i, tmp);
|
|
exit(-1);
|
|
}
|
|
}
|
|
diff --git a/gnfs/sieve/sieve_line.c b/gnfs/sieve/sieve_line.c
|
|
index 36141ae..e4156ea 100644
|
|
--- a/gnfs/sieve/sieve_line.c
|
|
+++ b/gnfs/sieve/sieve_line.c
|
|
@@ -311,8 +311,8 @@ uint32 do_line_sieving(msieve_obj *obj, sieve_param_t *params, mpz_t n,
|
|
|
|
if ((obj->flags & (MSIEVE_FLAG_USE_LOGFILE |
|
|
MSIEVE_FLAG_LOG_TO_STDOUT))) {
|
|
- fprintf(stderr, "b = %u, %u complete / "
|
|
- "%u batched relations (need %u)\r",
|
|
+ fprintf(stderr, "b = %" PRIu32 ", %" PRIu32 " complete / "
|
|
+ "%" PRIu32 " batched relations (need %" PRIu32 ")\r",
|
|
job.min_b + i, relations_found,
|
|
job.relation_batch.num_relations,
|
|
max_relations);
|
|
diff --git a/gnfs/sieve/sieve_util.c b/gnfs/sieve/sieve_util.c
|
|
index a81a560..91deea8 100644
|
|
--- a/gnfs/sieve/sieve_util.c
|
|
+++ b/gnfs/sieve/sieve_util.c
|
|
@@ -25,36 +25,36 @@ void print_relation(savefile_t *savefile, int64 a, uint32 b,
|
|
char buf[LINE_BUF_SIZE];
|
|
char *tmp = buf;
|
|
|
|
- tmp += sprintf(buf, "%" PRId64 ",%u", a, b);
|
|
+ tmp += sprintf(buf, "%" PRId64 ",%" PRIu32, a, b);
|
|
for (i = 0; i < num_factors_r; i++) {
|
|
if (i == 0)
|
|
- tmp += sprintf(tmp, ":%x", factors_r[i]);
|
|
+ tmp += sprintf(tmp, ":%" PRIx32, factors_r[i]);
|
|
else
|
|
- tmp += sprintf(tmp, ",%x", factors_r[i]);
|
|
+ tmp += sprintf(tmp, ",%" PRIx32, factors_r[i]);
|
|
}
|
|
for (j = 0; j < MAX_LARGE_PRIMES; j++) {
|
|
if (large_prime_r[j] == 1)
|
|
continue;
|
|
if (i == 0)
|
|
- tmp += sprintf(tmp, ":%x", large_prime_r[j]);
|
|
+ tmp += sprintf(tmp, ":%" PRIx32, large_prime_r[j]);
|
|
else
|
|
- tmp += sprintf(tmp, ",%x", large_prime_r[j]);
|
|
+ tmp += sprintf(tmp, ",%" PRIx32, large_prime_r[j]);
|
|
i++;
|
|
}
|
|
|
|
for (i = 0; i < num_factors_a; i++) {
|
|
if (i == 0)
|
|
- tmp += sprintf(tmp, ":%x", factors_a[i]);
|
|
+ tmp += sprintf(tmp, ":%" PRIx32, factors_a[i]);
|
|
else
|
|
- tmp += sprintf(tmp, ",%x", factors_a[i]);
|
|
+ tmp += sprintf(tmp, ",%" PRIx32, factors_a[i]);
|
|
}
|
|
for (j = 0; j < MAX_LARGE_PRIMES; j++) {
|
|
if (large_prime_a[j] == 1)
|
|
continue;
|
|
if (i == 0)
|
|
- tmp += sprintf(tmp, ":%x", large_prime_a[j]);
|
|
+ tmp += sprintf(tmp, ":%" PRIx32, large_prime_a[j]);
|
|
else
|
|
- tmp += sprintf(tmp, ",%x", large_prime_a[j]);
|
|
+ tmp += sprintf(tmp, ",%" PRIx32, large_prime_a[j]);
|
|
i++;
|
|
}
|
|
sprintf(tmp, "\n");
|
|
@@ -168,7 +168,7 @@ void write_last_line(msieve_obj *obj, mpz_t n, uint32 b) {
|
|
}
|
|
|
|
gmp_fprintf(linefile, "N %Zd\n", n);
|
|
- fprintf(linefile, "%u\n", b);
|
|
+ fprintf(linefile, "%" PRIu32 "\n", b);
|
|
fclose(linefile);
|
|
}
|
|
|
|
@@ -215,7 +215,7 @@ uint32 add_free_relations(msieve_obj *obj,
|
|
|
|
if (num_roots == rat_degree &&
|
|
high_coeff != 0) {
|
|
- sprintf(buf, "%u,0:\n", p);
|
|
+ sprintf(buf, "%" PRIu32 ",0:\n", p);
|
|
savefile_write_line(&obj->savefile,
|
|
buf);
|
|
num_relations++;
|
|
diff --git a/include/util.h b/include/util.h
|
|
index 5ab7003..8f8f00b 100644
|
|
--- a/include/util.h
|
|
+++ b/include/util.h
|
|
@@ -95,15 +95,15 @@ extern "C" {
|
|
#define PRIx64 "I64x"
|
|
|
|
#else
|
|
- typedef unsigned char uint8;
|
|
- typedef unsigned short uint16;
|
|
- typedef unsigned int uint32;
|
|
+ typedef uint8_t uint8;
|
|
+ typedef uint16_t uint16;
|
|
+ typedef uint32_t uint32;
|
|
typedef uint64_t uint64;
|
|
|
|
#ifndef RS6K
|
|
- typedef char int8;
|
|
- typedef short int16;
|
|
- typedef int int32;
|
|
+ typedef int8_t int8;
|
|
+ typedef int16_t int16;
|
|
+ typedef int32_t int32;
|
|
typedef int64_t int64;
|
|
#endif
|
|
#endif
|
|
@@ -163,7 +163,7 @@ extern "C" {
|
|
static INLINE void * xmalloc(size_t len) {
|
|
void *ptr = malloc(len);
|
|
if (ptr == NULL) {
|
|
- printf("failed to allocate %u bytes\n", (uint32)len);
|
|
+ printf("failed to allocate %" PRIu32 " bytes\n", (uint32)len);
|
|
exit(-1);
|
|
}
|
|
return ptr;
|
|
@@ -172,7 +172,7 @@ static INLINE void * xmalloc(size_t len) {
|
|
static INLINE void * xcalloc(size_t num, size_t len) {
|
|
void *ptr = calloc(num, len);
|
|
if (ptr == NULL) {
|
|
- printf("failed to calloc %u bytes\n", (uint32)(num * len));
|
|
+ printf("failed to calloc %" PRIu32 " bytes\n", (uint32)(num * len));
|
|
exit(-1);
|
|
}
|
|
return ptr;
|
|
@@ -181,7 +181,7 @@ static INLINE void * xcalloc(size_t num, size_t len) {
|
|
static INLINE void * xrealloc(void *iptr, size_t len) {
|
|
void *ptr = realloc(iptr, len);
|
|
if (ptr == NULL) {
|
|
- printf("failed to reallocate %u bytes\n", (uint32)len);
|
|
+ printf("failed to reallocate %" PRIu32 " bytes\n", (uint32)len);
|
|
exit(-1);
|
|
}
|
|
return ptr;
|
|
diff --git a/mpqs/poly.c b/mpqs/poly.c
|
|
index 9d6030e..a9f9046 100644
|
|
--- a/mpqs/poly.c
|
|
+++ b/mpqs/poly.c
|
|
@@ -526,7 +526,7 @@ void build_base_poly(sieve_conf_t *conf) {
|
|
|
|
i = sprintf(buf, "A");
|
|
for (j = 0; j < conf->num_poly_factors; j++)
|
|
- i += sprintf(buf + i, " %x", conf->poly_factors[j]);
|
|
+ i += sprintf(buf + i, " %" PRIx32, conf->poly_factors[j]);
|
|
i += sprintf(buf + i, "\n");
|
|
savefile_write_line(&obj->savefile, buf);
|
|
}
|
|
diff --git a/mpqs/relation.c b/mpqs/relation.c
|
|
index 3be9a55..49d4b1d 100644
|
|
--- a/mpqs/relation.c
|
|
+++ b/mpqs/relation.c
|
|
@@ -120,19 +120,19 @@ void save_relation(sieve_conf_t *conf, uint32 sieve_offset,
|
|
i = sprintf(buf, "R ");
|
|
|
|
if (sieve_offset & 0x80000000)
|
|
- i += sprintf(buf + i, "-%x ", sieve_offset & 0x7fffffff);
|
|
+ i += sprintf(buf + i, "-%" PRIx32 " ", sieve_offset & 0x7fffffff);
|
|
else
|
|
- i += sprintf(buf + i, "%x ", sieve_offset & 0x7fffffff);
|
|
+ i += sprintf(buf + i, "%" PRIx32 " ", sieve_offset & 0x7fffffff);
|
|
|
|
- i += sprintf(buf + i, "%x ", poly_index);
|
|
+ i += sprintf(buf + i, "%" PRIx32 " ", poly_index);
|
|
|
|
for (j = 0; j < num_factors; j++)
|
|
- i += sprintf(buf + i, "%x ", fb_offsets[j]);
|
|
+ i += sprintf(buf + i, "%" PRIx32 " ", fb_offsets[j]);
|
|
|
|
if (large_prime1 < large_prime2)
|
|
- i += sprintf(buf + i, "L %x %x\n", large_prime1, large_prime2);
|
|
+ i += sprintf(buf + i, "L %" PRIx32 " %" PRIx32 "\n", large_prime1, large_prime2);
|
|
else
|
|
- i += sprintf(buf + i, "L %x %x\n", large_prime2, large_prime1);
|
|
+ i += sprintf(buf + i, "L %" PRIx32 " %" PRIx32 "\n", large_prime2, large_prime1);
|
|
|
|
savefile_write_line(&conf->obj->savefile, buf);
|
|
|
|
diff --git a/mpqs/sieve.c b/mpqs/sieve.c
|
|
index 2e02567..40cbc36 100644
|
|
--- a/mpqs/sieve.c
|
|
+++ b/mpqs/sieve.c
|
|
@@ -617,8 +617,8 @@ static uint32 do_sieving_internal(sieve_conf_t *conf,
|
|
|
|
if (obj->flags & (MSIEVE_FLAG_USE_LOGFILE |
|
|
MSIEVE_FLAG_LOG_TO_STDOUT)) {
|
|
- fprintf(stderr, "%u relations (%u full + "
|
|
- "%u combined from %u partial), need %u\r",
|
|
+ fprintf(stderr, "%" PRIu32 " relations (%" PRIu32 " full + "
|
|
+ "%" PRIu32 " combined from %" PRIu32 " partial), need %" PRIu32 "\r",
|
|
num_relations,
|
|
conf->num_relations,
|
|
conf->num_cycles +
|
|
--
|
|
2.15.0
|
|
|
|
|
|
From 35bce1e609b6857e1bbeb860a0964753470793a0 Mon Sep 17 00:00:00 2001
|
|
From: Leorize <alaviss@users.noreply.github.com>
|
|
Date: Thu, 7 Dec 2017 20:50:18 +0700
|
|
Subject: use correct pointer type
|
|
|
|
|
|
diff --git a/common/savefile.c b/common/savefile.c
|
|
index 1ea0108..745d667 100644
|
|
--- a/common/savefile.c
|
|
+++ b/common/savefile.c
|
|
@@ -152,7 +152,7 @@ void savefile_open(savefile_t *s, uint32 flags) {
|
|
fclose(fp);
|
|
}
|
|
if (s->is_a_FILE) {
|
|
- s->fp = (gzFile *)fopen(s->name, "a");
|
|
+ s->fp = (gzFile)fopen(s->name, "a");
|
|
} else {
|
|
s->fp = gzopen(s->name, "a");
|
|
s->isCompressed = 1;
|
|
diff --git a/include/msieve.h b/include/msieve.h
|
|
index ed91e25..55568eb 100644
|
|
--- a/include/msieve.h
|
|
+++ b/include/msieve.h
|
|
@@ -101,7 +101,7 @@ typedef struct {
|
|
uint32 read_size;
|
|
uint32 eof;
|
|
#else
|
|
- gzFile *fp;
|
|
+ gzFile fp;
|
|
char isCompressed;
|
|
char is_a_FILE;
|
|
#endif
|
|
--
|
|
2.15.0
|
|
|
|
|
|
From a82ae58b3179c68389d18f58637d290b36c3e7ac Mon Sep 17 00:00:00 2001
|
|
From: Leorize <alaviss@users.noreply.github.com>
|
|
Date: Fri, 8 Dec 2017 07:14:51 +0700
|
|
Subject: haiku support
|
|
|
|
added haiku target
|
|
|
|
disabled unoptimized assembly (according to waddlesplash)
|
|
|
|
implemented haiku version of set_idle_priority
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 3d860c0..761eb6a 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -15,6 +15,7 @@
|
|
# override from command line
|
|
WIN = 0
|
|
WIN64 = 0
|
|
+HAIKU = 0
|
|
|
|
# gcc with basic optimization (-march flag could
|
|
# get overridden by architecture-specific builds)
|
|
@@ -41,9 +42,13 @@ ifeq ($(ECM),1)
|
|
endif
|
|
ifeq ($(WIN),1)
|
|
|
|
+else
|
|
+ifeq ($(HAIKU),1)
|
|
+
|
|
else
|
|
LIBS += -ldl
|
|
endif
|
|
+endif
|
|
ifeq ($(CUDA),1)
|
|
|
|
ifeq ($(WIN),1)
|
|
@@ -264,6 +269,7 @@ help:
|
|
@echo "make all"
|
|
@echo "add 'WIN=1 if building on windows"
|
|
@echo "add 'WIN64=1 if building on 64-bit windows"
|
|
+ @echo "add 'HAIKU=1' if building on haiku"
|
|
@echo "add 'ECM=1' if GMP-ECM is available (enables ECM)"
|
|
@echo "add 'CUDA=1' for Nvidia graphics card support"
|
|
@echo "add 'MPI=1' for parallel processing using MPI"
|
|
diff --git a/common/util.c b/common/util.c
|
|
index 5495921..de7ce84 100644
|
|
--- a/common/util.c
|
|
+++ b/common/util.c
|
|
@@ -116,6 +116,16 @@ void set_idle_priority(void) {
|
|
#if defined(WIN32) || defined(_WIN64)
|
|
SetPriorityClass(GetCurrentProcess(),
|
|
IDLE_PRIORITY_CLASS);
|
|
+#elif defined(__HAIKU__)
|
|
+ thread_info thinfo;
|
|
+ team_id team;
|
|
+ int32 thcookie;
|
|
+
|
|
+ get_thread_info(find_thread(NULL), &thinfo);
|
|
+ team = thinfo.team;
|
|
+ while (get_next_thread_info(team, &thcookie, &thinfo) == B_OK) {
|
|
+ set_thread_priority(thinfo.thread, B_IDLE_PRIORITY);
|
|
+ }
|
|
#else
|
|
nice(100);
|
|
#endif
|
|
diff --git a/gnfs/ffpoly.c b/gnfs/ffpoly.c
|
|
index 8e638dc..da94c80 100644
|
|
--- a/gnfs/ffpoly.c
|
|
+++ b/gnfs/ffpoly.c
|
|
@@ -202,7 +202,7 @@ static INLINE uint32 mul_mac(uint32 a, uint32 b, uint32 c,
|
|
|
|
#if defined(GCC_ASM32A) && \
|
|
!(defined(__GNUC__) && __GNUC__ < 3 ) && \
|
|
- defined(NDEBUG)
|
|
+ defined(NDEBUG) && !defined(__HAIKU__)
|
|
|
|
uint32 ans;
|
|
ASM_G(
|
|
@@ -288,7 +288,7 @@ static INLINE uint64 sqr_mac(uint32 a, uint32 b, uint64 c,
|
|
|
|
#if defined(GCC_ASM32A) && \
|
|
!(defined(__GNUC__) && __GNUC__ < 3 ) && \
|
|
- defined(NDEBUG)
|
|
+ defined(NDEBUG) && !defined(__HAIKU__)
|
|
|
|
ASM_G(
|
|
"movl %1, %%eax \n\t"
|
|
@@ -387,7 +387,7 @@ static INLINE uint64 sqr_mac0(uint32 a, uint32 b,
|
|
|
|
#if defined(GCC_ASM32A) && \
|
|
!(defined(__GNUC__) && __GNUC__ < 3 ) && \
|
|
- defined(NDEBUG)
|
|
+ defined(NDEBUG) && !defined(__HAIKU__)
|
|
|
|
ASM_G(
|
|
"movl %1, %%eax \n\t"
|
|
diff --git a/include/util.h b/include/util.h
|
|
index 8f8f00b..512f562 100644
|
|
--- a/include/util.h
|
|
+++ b/include/util.h
|
|
@@ -23,6 +23,9 @@ $Id: util.h 1005 2016-11-11 15:43:21Z jasonp_sf $
|
|
#include <windows.h>
|
|
#include <process.h>
|
|
#else
|
|
+ #if defined(__HAIKU__)
|
|
+ #include <OS.h>
|
|
+ #endif
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
#include <errno.h>
|
|
@@ -76,7 +79,7 @@ extern "C" {
|
|
|
|
/* basic types -------------------------------------------------------*/
|
|
|
|
-#ifdef _MSC_VER
|
|
+#if defined(_MSC_VER)
|
|
|
|
typedef __int8 int8;
|
|
typedef __int16 int16;
|
|
@@ -94,7 +97,7 @@ extern "C" {
|
|
#define PRIu64 "I64u"
|
|
#define PRIx64 "I64x"
|
|
|
|
-#else
|
|
+#elif !defined(__HAIKU__)
|
|
typedef uint8_t uint8;
|
|
typedef uint16_t uint16;
|
|
typedef uint32_t uint32;
|
|
@@ -116,8 +119,10 @@ extern "C" {
|
|
|
|
/* useful functions ---------------------------------------------------*/
|
|
|
|
-#define MIN(a,b) ((a) < (b)? (a) : (b))
|
|
-#define MAX(a,b) ((a) > (b)? (a) : (b))
|
|
+#if !defined(__HAIKU__)
|
|
+ #define MIN(a,b) ((a) < (b)? (a) : (b))
|
|
+ #define MAX(a,b) ((a) > (b)? (a) : (b))
|
|
+#endif
|
|
|
|
#if defined(_MSC_VER)
|
|
|
|
--
|
|
2.15.0
|
|
|
|
|
|
From 41df8b622271773c3d98762831243746501e87be Mon Sep 17 00:00:00 2001
|
|
From: Leorize <alaviss@users.noreply.github.com>
|
|
Date: Sat, 9 Dec 2017 08:09:28 +0700
|
|
Subject: remove svn version from demo.c
|
|
|
|
|
|
diff --git a/demo.c b/demo.c
|
|
index a49dbb2..1aaa6c5 100644
|
|
--- a/demo.c
|
|
+++ b/demo.c
|
|
@@ -81,9 +81,8 @@ void get_random_seeds(uint32 *seed1, uint32 *seed2) {
|
|
/*--------------------------------------------------------------------*/
|
|
void print_usage(char *progname) {
|
|
|
|
- printf("\nMsieve v. %d.%02d (SVN %s)\n", MSIEVE_MAJOR_VERSION,
|
|
- MSIEVE_MINOR_VERSION,
|
|
- MSIEVE_SVN_VERSION);
|
|
+ printf("\nMsieve v. %d.%02d\n", MSIEVE_MAJOR_VERSION,
|
|
+ MSIEVE_MINOR_VERSION);
|
|
|
|
printf("\nusage: %s [options] [one_number]\n", progname);
|
|
printf("\nnumbers starting with '0' are treated as octal,\n"
|
|
--
|
|
2.15.0
|
|
|