--- rpl/src/depassements.c 2011/09/26 15:57:10 1.28 +++ rpl/src/depassements.c 2012/04/13 14:12:47 1.34 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.4 - Copyright (C) 1989-2011 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.8 + Copyright (C) 1989-2012 Dr. BERTRAND Joël This file is part of RPL/2. @@ -198,7 +198,7 @@ depassement_puissance(integer8 *a, integ return(d_erreur); } - if ((*a) <= 1) + if ((r = abs(*a)) <= 1) { if ((*a) == 0) { @@ -206,14 +206,20 @@ depassement_puissance(integer8 *a, integ } else { - (*resultat) = 1; + if ((*a) > 0) + { + (*resultat) = 1; + } + else + { + (*resultat) = (((*b) % 2) == 0) ? 1 : -1; + } } return(d_absence_erreur); } depassement = d_faux; - r = abs(*a); for(i = 0; i < (*b); i++) {