--- rpl/src/instructions_p2.c 2010/04/21 13:45:48 1.7 +++ rpl/src/instructions_p2.c 2011/06/24 20:31:39 1.25 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.15 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.0.prerelease.4 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -38,6 +38,8 @@ void instruction_p_vers_r(struct_processus *s_etat_processus) { + double angle; + struct_liste_chainee *l_element_courant; struct_liste_chainee *l_element_precedent; @@ -136,20 +138,20 @@ instruction_p_vers_r(struct_processus *s return; } + angle = (*((struct_complexe16 *) (*s_objet_argument).objet)) + .partie_imaginaire; + if (test_cfsf(s_etat_processus, 60) == d_faux) { - conversion_degres_vers_radians(&((*((struct_complexe16 *) - (*s_objet_argument).objet)).partie_imaginaire)); + conversion_degres_vers_radians(&angle); } (*((struct_complexe16 *) (*s_objet_resultat).objet)).partie_reelle = (*((struct_complexe16 *) (*s_objet_argument).objet)) - .partie_reelle * cos((*((struct_complexe16 *) - (*s_objet_argument).objet)).partie_imaginaire); + .partie_reelle * cos(angle); (*((struct_complexe16 *) (*s_objet_resultat).objet)).partie_imaginaire = (*((struct_complexe16 *) (*s_objet_argument).objet)) - .partie_reelle * sin((*((struct_complexe16 *) - (*s_objet_argument).objet)).partie_imaginaire); + .partie_reelle * sin(angle); } /* @@ -1436,8 +1438,8 @@ instruction_put(struct_processus *s_etat return; } - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_verrouillee == d_vrai) + if ((*(*s_etat_processus).pointeur_variable_courante) + .variable_verrouillee == d_vrai) { (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee; @@ -1448,8 +1450,7 @@ instruction_put(struct_processus *s_etat return; } - s_objet_4 = (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet; + s_objet_4 = (*(*s_etat_processus).pointeur_variable_courante).objet; if (s_objet_4 == NULL) { @@ -1461,12 +1462,10 @@ instruction_put(struct_processus *s_etat } if (recherche_variable_partagee(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].nom, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_partagee, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].origine) == d_faux) + (*(*s_etat_processus).pointeur_variable_courante).nom, + (*(*s_etat_processus).pointeur_variable_courante) + .variable_partagee, (*(*s_etat_processus) + .pointeur_variable_courante).origine) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -1949,13 +1948,12 @@ instruction_put(struct_processus *s_etat if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4; @@ -2546,13 +2544,12 @@ instruction_put(struct_processus *s_etat if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4; @@ -2661,13 +2658,12 @@ instruction_put(struct_processus *s_etat if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4; @@ -2825,13 +2821,12 @@ instruction_put(struct_processus *s_etat if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4; @@ -3907,8 +3902,8 @@ instruction_puti(struct_processus *s_eta return; } - if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_verrouillee == d_vrai) + if ((*(*s_etat_processus).pointeur_variable_courante) + .variable_verrouillee == d_vrai) { (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee; @@ -3919,8 +3914,7 @@ instruction_puti(struct_processus *s_eta return; } - s_objet_4 = (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet; + s_objet_4 = (*(*s_etat_processus).pointeur_variable_courante).objet; if (s_objet_4 == NULL) { @@ -3932,12 +3926,10 @@ instruction_puti(struct_processus *s_eta } if (recherche_variable_partagee(s_etat_processus, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].nom, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].variable_partagee, - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].origine) == d_faux) + (*(*s_etat_processus).pointeur_variable_courante).nom, + (*(*s_etat_processus).pointeur_variable_courante) + .variable_partagee, (*(*s_etat_processus) + .pointeur_variable_courante).origine) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -4424,13 +4416,12 @@ instruction_puti(struct_processus *s_eta if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees) .table[(*(*s_etat_processus) .s_liste_variables_partagees).position_variable].objet @@ -5041,13 +5032,12 @@ instruction_puti(struct_processus *s_eta if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4; @@ -5166,13 +5156,12 @@ instruction_puti(struct_processus *s_eta if (variable_partagee == d_faux) { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = s_objet_4; + (*(*s_etat_processus).pointeur_variable_courante).objet = + s_objet_4; } else { - (*s_etat_processus).s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet = NULL; + (*(*s_etat_processus).pointeur_variable_courante).objet = NULL; (*(*s_etat_processus).s_liste_variables_partagees).table [(*(*s_etat_processus).s_liste_variables_partagees) .position_variable].objet = s_objet_4;