--- rpl/src/depassements.c 2013/03/16 11:31:40 1.42 +++ rpl/src/depassements.c 2014/07/17 08:07:17 1.52 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.19 + Copyright (C) 1989-2014 Dr. BERTRAND Joël This file is part of RPL/2. @@ -186,14 +186,11 @@ depassement_multiplication(integer8 *a, logical1 depassement_puissance(integer8 *a, integer8 *b, integer8 *resultat) { - int decalage; - integer8 i; logical1 depassement; - unsigned_integer8 r; - unsigned_integer8 unite; + integer8 r; if ((*b) < 0) { @@ -203,8 +200,6 @@ depassement_puissance(integer8 *a, integ if ((-1 <= (*a)) && ((*a) <= 1)) { - r = abs((*a)); - if ((*a) == 0) { (*resultat) = 0; @@ -225,6 +220,7 @@ depassement_puissance(integer8 *a, integ } depassement = d_faux; + r = 1; for(i = 0; i < (*b); i++) { @@ -242,19 +238,8 @@ depassement_puissance(integer8 *a, integ } else { - decalage = (sizeof(unsigned_integer8) * 8) - 1; - unite = 1; - - if (r <= ((unite << decalage) - 1)) - { - f77puissanceii_(a, b, resultat); - return(d_absence_erreur); - } - else - { - (*resultat) = 0; - return(d_erreur); - } + (*resultat) = r; + return(d_absence_erreur); } }