summaryrefslogtreecommitdiff
path: root/tune
diff options
context:
space:
mode:
authorTorbjorn Granlund <torbjorng@google.com>2014-11-13 23:04:54 +0100
committerTorbjorn Granlund <torbjorng@google.com>2014-11-13 23:04:54 +0100
commit393b7057b4b69e8008c16016331e7b87eaa86998 (patch)
treeb5e0162bbdcb6f1b8d7d586f21365dce3bcac361 /tune
parent623e44f75e87e23c713e0dee264d66ea53f6238e (diff)
downloadgmp-393b7057b4b69e8008c16016331e7b87eaa86998.tar.gz
Add casts for C++ compatibility.
Diffstat (limited to 'tune')
-rw-r--r--tune/speed.h10
-rw-r--r--tune/tune-gcd-p.c2
-rw-r--r--tune/tuneup.c34
3 files changed, 25 insertions, 21 deletions
diff --git a/tune/speed.h b/tune/speed.h
index 637b6316c..2569e335d 100644
--- a/tune/speed.h
+++ b/tune/speed.h
@@ -412,8 +412,10 @@ double speed_umul_ppmm (struct speed_params *);
/* Prototypes for other routines */
+extern "C" {
/* low 32-bits in p[0], high 32-bits in p[1] */
void speed_cyclecounter (unsigned p[2]);
+}
void mftb_function (unsigned p[2]);
@@ -459,8 +461,8 @@ int mpn_jacobi_base_4 (mp_limb_t, mp_limb_t, int);
mp_limb_t mpn_mod_1_div (mp_srcptr, mp_size_t, mp_limb_t);
mp_limb_t mpn_mod_1_inv (mp_srcptr, mp_size_t, mp_limb_t);
-mp_limb_t mpn_mod_1_1p_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t [4]);
-mp_limb_t mpn_mod_1_1p_2 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t [4]);
+mp_limb_t mpn_mod_1_1p_1 (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [4]);
+mp_limb_t mpn_mod_1_1p_2 (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [4]);
void mpn_mod_1_1p_cps_1 (mp_limb_t [4], mp_limb_t);
void mpn_mod_1_1p_cps_2 (mp_limb_t [4], mp_limb_t);
@@ -3356,7 +3358,7 @@ int speed_routine_count_zeros_setup (struct speed_params *, mp_ptr, int, int);
SPEED_TMP_ALLOC_LIMBS (xp, s->size + 1, s->align_xp); \
\
MPN_SIZEINBASE (wn, s->xp, s->size, base); \
- wp = TMP_ALLOC (wn); \
+ wp = (unsigned char *) TMP_ALLOC (wn); \
\
/* use this during development to guard against overflowing wp */ \
/* \
@@ -3402,7 +3404,7 @@ int speed_routine_count_zeros_setup (struct speed_params *, mp_ptr, int, int);
\
TMP_MARK; \
\
- xp = TMP_ALLOC (s->size); \
+ xp = (unsigned char *) TMP_ALLOC (s->size); \
for (i = 0; i < s->size; i++) \
xp[i] = s->xp[i] % base; \
\
diff --git a/tune/tune-gcd-p.c b/tune/tune-gcd-p.c
index 4d52f5610..89ce4c199 100644
--- a/tune/tune-gcd-p.c
+++ b/tune/tune-gcd-p.c
@@ -142,7 +142,7 @@ struct bench_data
static double
bench_gcd (void *ctx, int p)
{
- struct bench_data *data = ctx;
+ struct bench_data *data = (struct bench_data *) ctx;
double t;
p_table[data->n] = p;
diff --git a/tune/tuneup.c b/tune/tuneup.c
index 2fba6b295..b3c71dbb9 100644
--- a/tune/tuneup.c
+++ b/tune/tuneup.c
@@ -387,9 +387,11 @@ analyze_dat (int final)
* mpn/generic/divrem_1.c, mpn/generic/mod_1.c and mpz/fac_ui.c */
mp_limb_t mpn_div_qr_1_tune (mp_ptr, mp_limb_t *, mp_srcptr, mp_size_t, mp_limb_t);
+extern "C" {
mp_limb_t mpn_divrem_1_tune (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t);
mp_limb_t mpn_mod_1_tune (mp_srcptr, mp_size_t, mp_limb_t);
void mpz_fac_ui_tune (mpz_ptr, unsigned long);
+}
double
speed_mpn_mod_1_tune (struct speed_params *s)
@@ -858,8 +860,8 @@ cached_measure (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n, int k,
do { \
fft_tab[idx].n = nval; \
fft_tab[idx].k = kval; \
- fft_tab[idx+1].n = -1; /* sentinel */ \
- fft_tab[idx+1].k = -1; \
+ fft_tab[idx+1].n = (1 << 27) - 1; /* sentinel, 27b wide field */ \
+ fft_tab[idx+1].k = (1 << 5) - 1; \
} while (0)
int
@@ -902,12 +904,12 @@ fftmes (mp_size_t nmin, mp_size_t nmax, int initial_k, struct fft_param_t *p, in
idx = 1;
}
- ap = malloc (sizeof (mp_limb_t));
+ ap = (mp_ptr) malloc (sizeof (mp_limb_t));
if (p->sqr)
bp = ap;
else
- bp = malloc (sizeof (mp_limb_t));
- rp = malloc (sizeof (mp_limb_t));
+ bp = (mp_ptr) malloc (sizeof (mp_limb_t));
+ rp = (mp_ptr) malloc (sizeof (mp_limb_t));
alloc = 1;
/* Round n to comply to initial k value */
@@ -945,22 +947,22 @@ fftmes (mp_size_t nmin, mp_size_t nmax, int initial_k, struct fft_param_t *p, in
alloc = n1;
if (p->sqr)
{
- ap = realloc (ap, sizeof (mp_limb_t));
- rp = realloc (rp, sizeof (mp_limb_t));
- ap = bp = realloc (ap, alloc * sizeof (mp_limb_t));
+ ap = (mp_ptr) realloc (ap, sizeof (mp_limb_t));
+ rp = (mp_ptr) realloc (rp, sizeof (mp_limb_t));
+ ap = bp = (mp_ptr) realloc (ap, alloc * sizeof (mp_limb_t));
mpn_random (ap, alloc);
- rp = realloc (rp, alloc * sizeof (mp_limb_t));
+ rp = (mp_ptr) realloc (rp, alloc * sizeof (mp_limb_t));
}
else
{
- ap = realloc (ap, sizeof (mp_limb_t));
- bp = realloc (bp, sizeof (mp_limb_t));
- rp = realloc (rp, sizeof (mp_limb_t));
- ap = realloc (ap, alloc * sizeof (mp_limb_t));
+ ap = (mp_ptr) realloc (ap, sizeof (mp_limb_t));
+ bp = (mp_ptr) realloc (bp, sizeof (mp_limb_t));
+ rp = (mp_ptr) realloc (rp, sizeof (mp_limb_t));
+ ap = (mp_ptr) realloc (ap, alloc * sizeof (mp_limb_t));
mpn_random (ap, alloc);
- bp = realloc (bp, alloc * sizeof (mp_limb_t));
+ bp = (mp_ptr) realloc (bp, alloc * sizeof (mp_limb_t));
mpn_random (bp, alloc);
- rp = realloc (rp, alloc * sizeof (mp_limb_t));
+ rp = (mp_ptr) realloc (rp, alloc * sizeof (mp_limb_t));
}
}
@@ -2603,7 +2605,7 @@ speed_mpn_pre_set_str (struct speed_params *s)
TMP_MARK;
- str = TMP_ALLOC (s->size);
+ str = (unsigned char *) TMP_ALLOC (s->size);
for (i = 0; i < s->size; i++)
str[i] = s->xp[i] % base;