--- rpl/src/instructions_s1.c 2010/02/10 10:14:24 1.3 +++ rpl/src/instructions_s1.c 2010/03/04 10:17:53 1.5 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.11 + RPL/2 (R) version 4.0.12 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -4378,9 +4378,21 @@ instruction_sign(struct_processus *s_eta return; } - f77absc_((struct_complexe16 *) (*s_objet_argument).objet, &norme); - f77divisioncr_((struct_complexe16 *) (*s_objet_argument).objet, - &norme, (struct_complexe16 *) (*s_objet_resultat).objet); + if (((*((struct_complexe16 *) (*s_objet_argument).objet)).partie_reelle + != 0) || ((*((struct_complexe16 *) (*s_objet_argument).objet)) + .partie_imaginaire != 0)) + { + f77absc_((struct_complexe16 *) (*s_objet_argument).objet, &norme); + f77divisioncr_((struct_complexe16 *) (*s_objet_argument).objet, + &norme, (struct_complexe16 *) (*s_objet_resultat).objet); + } + else + { + (*((struct_complexe16 *) (*s_objet_argument).objet)) + .partie_reelle = 0; + (*((struct_complexe16 *) (*s_objet_argument).objet)) + .partie_imaginaire = 0; + } } /*