Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 1995:4e6a63799f08
[xemacs-hg @ 2004-04-07 03:48:58 by james]
Fix various ICC warnings and compilation errors.
author | james |
---|---|
date | Wed, 07 Apr 2004 03:49:00 +0000 |
parents | 9c872f33ecbe |
children | 04bc9d2f42c7 |
comparison
equal
deleted
inserted
replaced
1994:cb7f3be19e9f | 1995:4e6a63799f08 |
---|---|
302 #endif | 302 #endif |
303 #ifdef HAVE_RATIO | 303 #ifdef HAVE_RATIO |
304 case RATIO_T: | 304 case RATIO_T: |
305 return ratio_cmp (XRATIO_DATA (obj1), XRATIO_DATA (obj2)); | 305 return ratio_cmp (XRATIO_DATA (obj1), XRATIO_DATA (obj2)); |
306 #endif | 306 #endif |
307 case FLOAT_T: | |
308 { | |
309 double dval1 = XFLOAT_DATA (obj1), dval2 = XFLOAT_DATA (obj2); | |
310 return dval1 < dval2 ? -1 : dval1 > dval2 ? 1 : 0; | |
311 } | |
312 #ifdef HAVE_BIGFLOAT | 307 #ifdef HAVE_BIGFLOAT |
313 case BIGFLOAT_T: | 308 case BIGFLOAT_T: |
314 return bigfloat_cmp (XBIGFLOAT_DATA (obj1), XBIGFLOAT_DATA (obj2)); | 309 return bigfloat_cmp (XBIGFLOAT_DATA (obj1), XBIGFLOAT_DATA (obj2)); |
315 #endif | 310 #endif |
311 default: /* FLOAT_T */ | |
312 { | |
313 double dval1 = XFLOAT_DATA (obj1), dval2 = XFLOAT_DATA (obj2); | |
314 return dval1 < dval2 ? -1 : dval1 > dval2 ? 1 : 0; | |
315 } | |
316 } | 316 } |
317 #else /* !WITH_NUMBER_TYPES */ | 317 #else /* !WITH_NUMBER_TYPES */ |
318 retry: | 318 retry: |
319 | 319 |
320 { | 320 { |
451 return ratio_lt (XRATIO_DATA (obj1), XRATIO_DATA (obj2)) | 451 return ratio_lt (XRATIO_DATA (obj1), XRATIO_DATA (obj2)) |
452 ? obj1 : obj2; | 452 ? obj1 : obj2; |
453 } | 453 } |
454 return make_ratio_rt (scratch_ratio); | 454 return make_ratio_rt (scratch_ratio); |
455 #endif | 455 #endif |
456 case FLOAT_T: | |
457 { | |
458 double dval1 = XFLOAT_DATA (obj1), dval2 = XFLOAT_DATA (obj2); | |
459 switch (opcode) | |
460 { | |
461 case Bplus: dval1 += dval2; break; | |
462 case Bdiff: dval1 -= dval2; break; | |
463 case Bmult: dval1 *= dval2; break; | |
464 case Bquo: | |
465 if (dval2 == 0.0) Fsignal (Qarith_error, Qnil); | |
466 dval1 /= dval2; | |
467 break; | |
468 case Bmax: if (dval1 < dval2) dval1 = dval2; break; | |
469 case Bmin: if (dval1 > dval2) dval1 = dval2; break; | |
470 } | |
471 return make_float (dval1); | |
472 } | |
473 #ifdef HAVE_BIGFLOAT | 456 #ifdef HAVE_BIGFLOAT |
474 case BIGFLOAT_T: | 457 case BIGFLOAT_T: |
475 bigfloat_set_prec (scratch_bigfloat, max (XBIGFLOAT_GET_PREC (obj1), | 458 bigfloat_set_prec (scratch_bigfloat, max (XBIGFLOAT_GET_PREC (obj1), |
476 XBIGFLOAT_GET_PREC (obj2))); | 459 XBIGFLOAT_GET_PREC (obj2))); |
477 switch (opcode) | 460 switch (opcode) |
501 return bigfloat_lt (XBIGFLOAT_DATA (obj1), XBIGFLOAT_DATA (obj2)) | 484 return bigfloat_lt (XBIGFLOAT_DATA (obj1), XBIGFLOAT_DATA (obj2)) |
502 ? obj1 : obj2; | 485 ? obj1 : obj2; |
503 } | 486 } |
504 return make_bigfloat_bf (scratch_bigfloat); | 487 return make_bigfloat_bf (scratch_bigfloat); |
505 #endif | 488 #endif |
489 default: /* FLOAT_T */ | |
490 { | |
491 double dval1 = XFLOAT_DATA (obj1), dval2 = XFLOAT_DATA (obj2); | |
492 switch (opcode) | |
493 { | |
494 case Bplus: dval1 += dval2; break; | |
495 case Bdiff: dval1 -= dval2; break; | |
496 case Bmult: dval1 *= dval2; break; | |
497 case Bquo: | |
498 if (dval2 == 0.0) Fsignal (Qarith_error, Qnil); | |
499 dval1 /= dval2; | |
500 break; | |
501 case Bmax: if (dval1 < dval2) dval1 = dval2; break; | |
502 case Bmin: if (dval1 > dval2) dval1 = dval2; break; | |
503 } | |
504 return make_float (dval1); | |
505 } | |
506 } | 506 } |
507 #else /* !WITH_NUMBER_TYPES */ | 507 #else /* !WITH_NUMBER_TYPES */ |
508 EMACS_INT ival1, ival2; | 508 EMACS_INT ival1, ival2; |
509 int float_p; | 509 int float_p; |
510 | 510 |