version 1.42, 2013/03/16 11:31:40
|
version 1.75, 2025/04/15 10:17:50
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.13 |
RPL/2 (R) version 4.1.36 |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
Copyright (C) 1989-2025 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 186 depassement_multiplication(integer8 *a,
|
Line 186 depassement_multiplication(integer8 *a,
|
logical1 |
logical1 |
depassement_puissance(integer8 *a, integer8 *b, integer8 *resultat) |
depassement_puissance(integer8 *a, integer8 *b, integer8 *resultat) |
{ |
{ |
int decalage; |
|
|
|
integer8 i; |
integer8 i; |
|
|
logical1 depassement; |
logical1 depassement; |
|
|
unsigned_integer8 r; |
integer8 r; |
unsigned_integer8 unite; |
|
|
|
if ((*b) < 0) |
if ((*b) < 0) |
{ |
{ |
Line 203 depassement_puissance(integer8 *a, integ
|
Line 200 depassement_puissance(integer8 *a, integ
|
|
|
if ((-1 <= (*a)) && ((*a) <= 1)) |
if ((-1 <= (*a)) && ((*a) <= 1)) |
{ |
{ |
r = abs((*a)); |
|
|
|
if ((*a) == 0) |
if ((*a) == 0) |
{ |
{ |
(*resultat) = 0; |
(*resultat) = 0; |
Line 225 depassement_puissance(integer8 *a, integ
|
Line 220 depassement_puissance(integer8 *a, integ
|
} |
} |
|
|
depassement = d_faux; |
depassement = d_faux; |
|
r = 1; |
|
|
for(i = 0; i < (*b); i++) |
for(i = 0; i < (*b); i++) |
{ |
{ |
Line 242 depassement_puissance(integer8 *a, integ
|
Line 238 depassement_puissance(integer8 *a, integ
|
} |
} |
else |
else |
{ |
{ |
decalage = (sizeof(unsigned_integer8) * 8) - 1; |
(*resultat) = r; |
unite = 1; |
return(d_absence_erreur); |
|
|
if (r <= ((unite << decalage) - 1)) |
|
{ |
|
f77puissanceii_(a, b, resultat); |
|
return(d_absence_erreur); |
|
} |
|
else |
|
{ |
|
(*resultat) = 0; |
|
return(d_erreur); |
|
} |
|
} |
} |
} |
} |
|
|