0
0
Fork 0
haikuports/sci-mathematics/msieve/patches/msieve-1.53.patchset

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