Skip to content

Commit 0208dbd

Browse files
authored
Merge pull request #295 from vneiger/fix_compilation_warnings
Fix compilation warnings [usolve]
2 parents 8410557 + 1939604 commit 0208dbd

9 files changed

Lines changed: 78 additions & 86 deletions

File tree

src/msolve/msolve.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3208,7 +3208,7 @@ int newvalue_denom(mpz_t *denom, long deg, mpz_t r, long k, mpz_t *xdo,
32083208
mpz_t *xup, mpz_t tmp, mpz_t den_do, mpz_t den_up, long corr,
32093209
mpz_t c) {
32103210

3211-
mpz_scalar_product_interval(denom, deg, k, xdo, xup, tmp, den_do, den_up, corr);
3211+
mpz_scalar_product_interval(denom, deg, xdo, xup, tmp, den_do, den_up, corr);
32123212
return (mpz_sgn(den_do) != mpz_sgn(den_up) || mpz_sgn(den_do) == 0 || mpz_sgn(den_up) == 0);
32133213

32143214
}
@@ -3432,15 +3432,15 @@ void lazy_single_real_root_param(mpz_param_t param, mpz_t *polelim,
34323432
int refine = 1;
34333433
while(refine){
34343434
mpz_scalar_product_interval(param->coords[nv]->coeffs,
3435-
param->coords[nv]->length - 1, rt->k, xdo, xup,
3435+
param->coords[nv]->length - 1, xdo, xup,
34363436
tmp, val_do, val_up, corr);
34373437
int boo = 0;
34383438
while(to_split == 0 && mpz_sgn(val_do)*mpz_sgn(val_up) < 0){
34393439
refine_root_elim(param, polelim, ns, rt, pos_root,
34403440
tab, xdo, xup, den_up, den_do, c, &corr,
34413441
&b, info_level);
34423442
mpz_scalar_product_interval(param->coords[nv]->coeffs,
3443-
param->coords[nv]->length - 1, rt->k, xdo, xup,
3443+
param->coords[nv]->length - 1, xdo, xup,
34443444
tmp, val_do, val_up, corr);
34453445

34463446
boo = 1;
@@ -3462,7 +3462,7 @@ void lazy_single_real_root_param(mpz_param_t param, mpz_t *polelim,
34623462
tab, xdo, xup, den_up, den_do, c, &corr,
34633463
&b, info_level);
34643464
mpz_scalar_product_interval(param->coords[nv]->coeffs,
3465-
param->coords[nv]->length - 1, rt->k, xdo, xup,
3465+
param->coords[nv]->length - 1, xdo, xup,
34663466
tmp, val_do, val_up, corr);
34673467
newvalue_denom(param->denom->coeffs, param->denom->length - 1,
34683468
rt->numer, rt->k, xdo, xup, tmp, den_do, den_up, corr,

src/usolve/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libusolve.la
22
libusolve_la_SOURCES = usolve.c
33
libusolve_ladir = $(includedir)/msolve/usolve
44
libusolve_la_HEADERS = libusolve.h
5-
libusolve_la_CFLAGS = $(SIMD_FLAGS) $(CPUEXT_FLAGS) $(OPENMP_CFLAGS)
5+
libusolve_la_CFLAGS = $(SIMD_FLAGS) $(CPUEXT_FLAGS) $(OPENMP_CFLAGS) -Wall -Wextra
66

77
EXTRA_DIST = libusolve.h \
88
bisection.h \

src/usolve/descartes.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ static unsigned long descartes_classical(const mpz_t *, mpz_t *,
3030

3131
static long descartes_truncate(mpz_t *, const unsigned long,
3232
const unsigned long,
33-
long, long *, usolve_flags *);
33+
usolve_flags *);
3434

3535
/* one assumes upol[0] != 0 */
3636
/* stopped as soon as more than 3 sgn variations are found */
@@ -58,7 +58,7 @@ static long mpz_poly_sgn_variations_coeffs(mpz_t* upol, unsigned long deg){
5858

5959
static unsigned long int descartes(mpz_t *upol1, mpz_t *upol2,
6060
const unsigned long deg,
61-
long sigh, long *flag, usolve_flags *flags){
61+
usolve_flags *flags){
6262
unsigned long int i;
6363
#pragma omp parallel for num_threads(flags->nthreads)
6464
for(i = 0; i <= deg; i++){
@@ -67,7 +67,7 @@ static unsigned long int descartes(mpz_t *upol1, mpz_t *upol2,
6767

6868
/* Max bit size of coefficients in upol1 */
6969
const unsigned long nbits = mpz_poly_max_bsize_coeffs(upol1, deg);
70-
long nb = descartes_truncate(upol2, deg, nbits, sigh, flag, flags);
70+
long nb = descartes_truncate(upol2, deg, nbits, flags);
7171

7272
if(nb >= 0){
7373
return nb;
@@ -88,8 +88,8 @@ static unsigned long int descartes(mpz_t *upol1, mpz_t *upol2,
8888
/* assumes upol1 and upol2 are the same polynomials */
8989
static long descartes_truncate(mpz_t *upol2,
9090
const unsigned long deg,
91-
const unsigned long nbits, long sigh,
92-
long *flag, usolve_flags *flags){
91+
const unsigned long nbits,
92+
usolve_flags *flags){
9393
int i;
9494
/* /\* Max bit size of coefficients in upol1 *\/ */
9595
/* const unsigned long int nbits = mpz_poly_max_bsize_coeffs(upol1, deg); */
@@ -142,19 +142,19 @@ static unsigned long descartes_classical(const mpz_t *upol, mpz_t *tpol,
142142
return nb;
143143
}
144144

145-
for (long i = 0; i <= deg; i++) {
145+
for (unsigned long i = 0; i <= deg; i++) {
146146
mpz_set(tpol[i], upol[i]);
147147
}
148148

149-
for (long i = 0; i <= deg - 1; i++){
149+
for (unsigned long i = 0; i < deg; i++){
150150
mpz_add(tpol[i+1], tpol[i+1], tpol[i]);
151151
}
152152

153153
int s = mpz_sgn(tpol[deg]);
154154

155155
*bsgn = s && (s == mpz_sgn(upol[0])) && (s == -hsgn);
156156

157-
for (long i = 1; i <= deg - 1; i++){
157+
for (unsigned long i = 1; i < deg; i++){
158158
j = deg - i;
159159
t = s;
160160
while (t == 0){
@@ -166,8 +166,8 @@ static unsigned long descartes_classical(const mpz_t *upol, mpz_t *tpol,
166166
if (j < 0){
167167
return nb;
168168
}
169-
for (j = 0; j <= deg - i - 1; j++){
170-
mpz_add(tpol[j+1], tpol[j+1], tpol[j]);
169+
for (unsigned long jj = 0; jj < deg - i; jj++){
170+
mpz_add(tpol[jj+1], tpol[jj+1], tpol[jj]);
171171
}
172172
if (s == 0){
173173
s = mpz_sgn(tpol[deg-i]);

src/usolve/evaluate.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ static inline void basic_mpz_poly_eval_at_point(mpz_t *up, unsigned long int deg
8383
}
8484

8585

86-
static inline int sgn_mpz_poly_eval_at_point_naive(mpz_t *upoly, unsigned long int deg, mpz_t *c, int classical_algo){
86+
static inline int sgn_mpz_poly_eval_at_point_naive(mpz_t *upoly, unsigned long int deg, mpz_t *c){
8787
mpz_t val;
8888
mpz_init(val);
8989
basic_mpz_poly_eval_at_point(upoly, deg, c, &val);
@@ -257,7 +257,7 @@ int mpz_poly_eval_interval(mpz_t *up, const long int deg, const long k,
257257
258258
returns (mpz_sgn(val_do) != mpz_sgn(val_up))
259259
*/
260-
int mpz_scalar_product_interval(mpz_t *up, const long int deg, const long k,
260+
int mpz_scalar_product_interval(mpz_t *up, const long int deg,
261261
mpz_t *xdo, mpz_t *xup,
262262
mpz_t tmp,
263263
mpz_t val_do, mpz_t val_up,
@@ -306,7 +306,7 @@ int mpz_scalar_product_interval(mpz_t *up, const long int deg, const long k,
306306
/* up( [ xdo[1], xup[1] ] ) */
307307
/* xup[i] and xdo[i] are given mod 2^corr when i%b == 0 */
308308

309-
int lazy_mpz_poly_eval_interval(mpz_t *up, const unsigned long int deg,
309+
int lazy_mpz_poly_eval_interval(mpz_t *up, const long int deg,
310310
const long k,
311311
mpz_t *xdo, mpz_t *xup,
312312
const long prec, const long corr,
@@ -327,8 +327,8 @@ int lazy_mpz_poly_eval_interval(mpz_t *up, const unsigned long int deg,
327327

328328
mpz_set_ui(val_up, 0);
329329
mpz_set_ui(val_do, 0);
330-
const long t = (deg) / b;
331-
long rd = (deg) % b;
330+
const long t = deg / b;
331+
long rd = deg % b;
332332
mpz_t fdo, fup;
333333
mpz_init(fdo);
334334
mpz_init(fup);

src/usolve/libusolve.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void get_values_at_bounds(mpz_t *, unsigned long int, interval *, mpz_t *);
4949
void refine_QIR_positive_root(mpz_t *, long int *, interval *,
5050
mpz_t *, int, int);
5151

52-
int mpz_scalar_product_interval(mpz_t *, unsigned long int, long,
52+
int mpz_scalar_product_interval(mpz_t *, unsigned long int,
5353
mpz_t *, mpz_t *, mpz_t, mpz_t, mpz_t, long);
5454

5555
int mpz_poly_eval_interval(mpz_t *, unsigned long int, long,

src/usolve/refine.c

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static long long int index_linearinterp(mpz_t *vala, mpz_t *valb, mpz_t *q,
4646
mpz_tdiv_q(*q, *vala, *valb);
4747

4848
long int sizeq = ilog2_mpz(*q);
49-
if(sizeq >= 8 * sizeof(long long int)){
49+
if((long unsigned int)sizeq >= 8 * sizeof(long long int)){
5050
if(sizeq > logN){
5151
fprintf(stderr,"Valeur de q = "); mpz_out_str(stderr, 10, *q);puts("");
5252
fprintf(stderr, "Valeur de Nlog = %lld\n", logN);
@@ -134,7 +134,7 @@ static void getx_and_eval_mpzidx(mpz_t *upol, unsigned long int deg,
134134
static int right_interval_2exp(mpz_t *upol, unsigned long int *deg_ptr,
135135
interval *rt, mpz_t *x, mpz_t *b,
136136
mpz_t *vala, mpz_t *valb, mpz_t *q,
137-
int k, int newk){
137+
int newk){
138138

139139
mpz_swap(*x, *b);
140140
mpz_swap(*vala, *valb);
@@ -159,8 +159,7 @@ static int right_interval_2exp(mpz_t *upol, unsigned long int *deg_ptr,
159159
static int left_interval_2exp(mpz_t *upol, unsigned long int *deg_ptr,
160160
interval *rt, mpz_t *x, mpz_t *b,
161161
mpz_t *vala, mpz_t *valb, mpz_t *q,
162-
int k, int newk){
163-
162+
int newk) {
164163
getx_and_eval_2expleft(upol, *deg_ptr, x, b, valb, q,
165164
newk, 1);
166165
mpz_swap(*x, *b);
@@ -363,7 +362,7 @@ static void refine_root_by_N_positive_k(mpz_t *upol, unsigned long int *deg_ptr,
363362
return;
364363
}
365364
while(right_interval_2exp(upol, deg_ptr, rt, x, b,
366-
vala, valb, q, k, newk)==0 && index <= maxindex){
365+
vala, valb, q, newk)==0 && index <= maxindex){
367366
if(verbose>0){
368367
fprintf(stdout, "->");
369368
}
@@ -405,7 +404,7 @@ static void refine_root_by_N_positive_k(mpz_t *upol, unsigned long int *deg_ptr,
405404
return;
406405
}
407406
while(left_interval_2exp(upol, deg_ptr, rt,
408-
x, b, vala, valb, q, k, newk) == 0){
407+
x, b, vala, valb, q, newk) == 0){
409408
if(verbose>0){
410409
fprintf(stdout, "<-");
411410
}
@@ -688,7 +687,7 @@ void get_values_at_bounds(mpz_t *upol, unsigned long int deg,
688687
}
689688

690689
static void refine_root_naive(mpz_t *upol, unsigned long int deg,
691-
interval *rt, mpz_t *middle, int calgo){
690+
interval *rt, mpz_t *middle){
692691
if(rt->isexact == 1){
693692
return;
694693
}
@@ -709,7 +708,7 @@ static void refine_root_naive(mpz_t *upol, unsigned long int deg,
709708
mpz_add(*middle, *middle, rt->numer);
710709
newk = ( (rt->k) + 1 );
711710

712-
sgn_middle = sgn_mpz_poly_eval_at_point_naive(upol, deg, middle, calgo);
711+
sgn_middle = sgn_mpz_poly_eval_at_point_naive(upol, deg, middle);
713712
}
714713
int sign_left = rt->sign_left;
715714

@@ -728,7 +727,7 @@ static void refine_root_naive(mpz_t *upol, unsigned long int deg,
728727

729728
static void remove_exact_roots_by_division(mpz_t *upol, unsigned long int *deg,
730729
interval *roots,
731-
unsigned long int nbroots, int nthreads){
730+
unsigned long int nbroots) {
732731
for(unsigned long int i = 0; i < nbroots; i++){
733732
interval *rt = roots + i;
734733
if(rt->isexact==1){
@@ -749,7 +748,7 @@ static void remove_exact_roots_by_division(mpz_t *upol, unsigned long int *deg,
749748
/* divisions when there are exact roots */
750749
void refine_QIR_roots(mpz_t *upol, unsigned long int *deg, interval *roots,
751750
int nbneg, int nbpos,
752-
int prec, int verbose, double step, int nthreads){
751+
int prec, int verbose, double step){
753752
unsigned long int i;
754753
/* table for intermediate values */
755754
mpz_t *tab = (mpz_t *)(malloc(sizeof(mpz_t) * 8));
@@ -760,7 +759,7 @@ void refine_QIR_roots(mpz_t *upol, unsigned long int *deg, interval *roots,
760759
double e_time = 0, refine_time = realtime();
761760
int nb = nbneg + nbpos;
762761

763-
remove_exact_roots_by_division(upol, deg, roots, nb, nthreads);
762+
remove_exact_roots_by_division(upol, deg, roots, nb);
764763

765764

766765
interval *pos_rt = (interval *)(malloc(sizeof(interval)));
@@ -774,7 +773,7 @@ void refine_QIR_roots(mpz_t *upol, unsigned long int *deg, interval *roots,
774773
}
775774
}
776775

777-
for(i = 0; i < nbneg; i++){
776+
for(i = 0; i < (long unsigned int)nbneg; i++){
778777

779778
interval *rt = roots + i;
780779

@@ -857,7 +856,7 @@ void refine_QIR_roots(mpz_t *upol, unsigned long int *deg, interval *roots,
857856
}
858857
}
859858

860-
for(i=nbneg; i < nb; i++){
859+
for(i=nbneg; i < (long unsigned int)nb; i++){
861860
interval *rt = roots + i;
862861

863862
if(rt->isexact==0){
@@ -904,7 +903,7 @@ void refine_QIR_roots(mpz_t *upol, unsigned long int *deg, interval *roots,
904903
/* the precision of the refinement depends on the value of the root to be defined */
905904
void refine_QIR_roots_adaptative(mpz_t *upol, unsigned long int *deg, interval *roots,
906905
int nbneg, int nbpos,
907-
int prec, int verbose, double step, int nthreads){
906+
int prec, int verbose, double step){
908907

909908
unsigned long int i;
910909
/* table for intermediate values */
@@ -916,7 +915,7 @@ void refine_QIR_roots_adaptative(mpz_t *upol, unsigned long int *deg, interval *
916915
double e_time = 0, refine_time = realtime();
917916
int nb = nbneg + nbpos;
918917

919-
remove_exact_roots_by_division(upol, deg, roots, nb, nthreads);
918+
remove_exact_roots_by_division(upol, deg, roots, nb);
920919

921920

922921
interval *pos_rt = (interval *)(malloc(sizeof(interval)));
@@ -930,7 +929,7 @@ void refine_QIR_roots_adaptative(mpz_t *upol, unsigned long int *deg, interval *
930929
}
931930
}
932931

933-
for(i = 0; i < nbneg; i++){
932+
for (i = 0; i < (long unsigned int)nbneg; i++){
934933

935934
interval *rt = roots + i;
936935

@@ -1018,7 +1017,7 @@ void refine_QIR_roots_adaptative(mpz_t *upol, unsigned long int *deg, interval *
10181017
}
10191018
}
10201019

1021-
for(i=nbneg; i < nb; i++){
1020+
for(i=nbneg; i < (long unsigned int)nb; i++){
10221021
interval *rt = roots + i;
10231022

10241023
if(rt->isexact==0){
@@ -1065,13 +1064,13 @@ void refine_QIR_roots_adaptative(mpz_t *upol, unsigned long int *deg, interval *
10651064

10661065
void refine_all_roots_naive(mpz_t *upol, unsigned long int deg,
10671066
interval *roots, unsigned long int nb,
1068-
unsigned int prec, int calgo, int debug){
1067+
unsigned int prec){
10691068
mpz_t *middle=malloc(sizeof(mpz_t));
10701069
mpz_init(middle[0]);
10711070

10721071
for(unsigned long int j = 0; j < nb; j++){
10731072
while((roots+j)->k < prec && (roots+j)->isexact == 0){
1074-
refine_root_naive(upol, deg, roots+j, middle, calgo);
1073+
refine_root_naive(upol, deg, roots+j, middle);
10751074
}
10761075
}
10771076
mpz_clear(middle[0]);

src/usolve/taylor_shift.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static void mpz_poly_add(mpz_t *res,
4444
/*naive taylor shift by 1 (in place)*/
4545
static void taylorshift1_naive(mpz_t *upol, const unsigned long int deg){
4646
long int i,j;
47-
for (i = 0; i <= deg-1; i++){
47+
for (i = 0; (unsigned long int)i < deg; i++){
4848
for (j = deg-1 ; j >= i; j--){
4949
mpz_add(upol[j], upol[j], upol[j+1]);
5050
}
@@ -191,9 +191,9 @@ static void taylorshift1_dac(mpz_t *upol,
191191
}
192192

193193
nblocks = nblocks / 2;
194-
for(int count = 1; count <= nblocks ; count++){
194+
for (unsigned int count = 1; count <= nblocks ; count++){
195195
unsigned long int newdeg;
196-
if(count == nblocks){
196+
if (count == nblocks){
197197
newdeg = fdeg;
198198
}
199199
else{
@@ -281,10 +281,10 @@ static long mpz_poly_sgn_variations_coeffs_bsize_with_index(mpz_t* upol,
281281
int c = mpz_cmp_ui(upol[i],0);
282282
long int l = ilog2_mpz(upol[i]);
283283
N = min((bsize - i +1)*L + 1, min(deg, (i+1)*L + 1));
284-
if(l <= N || c==0){
284+
if(l <= (long int)N || c==0){
285285
boo = 0;
286286
}
287-
if( mpz_sgn(upol[i]) * s < 0 && l > N && c!=0){
287+
if( mpz_sgn(upol[i]) * s < 0 && l > (long int)N && c!=0){
288288
nb = nb + 1;
289289
s = mpz_sgn(upol[i]);
290290
if(nb >= 3){
@@ -297,10 +297,10 @@ static long mpz_poly_sgn_variations_coeffs_bsize_with_index(mpz_t* upol,
297297
N = L + 1;
298298
int c = mpz_cmp_ui(upol[0],0);
299299
long int l = ilog2_mpz(upol[0]);
300-
if(l <= N || c==0){
300+
if(l <= (long int)N || c==0){
301301
boo = 0;
302302
}
303-
if(s*mpz_sgn(upol[0]) < 0 && l> N && c!=0){
303+
if(s*mpz_sgn(upol[0]) < 0 && l> (long int)N && c!=0){
304304
nb = nb + 1;
305305
}
306306
if(nb>=3 || boo == 1){
@@ -359,7 +359,7 @@ static long taylorshift1_dac_wsgnvar(mpz_t *pol,
359359
unsigned long int npwr = LOG2(nblocks);
360360
mpz_t *current_shifted_powerX = NULL;
361361

362-
for(i=0;i<npwr-1; i++){
362+
for(i=0; (unsigned int)i < npwr-1; i++){
363363
current_shifted_powerX = shift_pwx[i];
364364

365365
if(nblocks>1){
@@ -375,7 +375,7 @@ static long taylorshift1_dac_wsgnvar(mpz_t *pol,
375375

376376
unsigned long int ndeg;
377377

378-
if(count==nblocks){
378+
if(count == (long int)nblocks){
379379
ndeg = fdeg;
380380
}
381381
else{

0 commit comments

Comments
 (0)