version 1.41, 2012/12/18 13:19:37
|
version 1.46, 2013/03/24 23:11:30
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.12 |
RPL/2 (R) version 4.1.13 |
Copyright (C) 1989-2012 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 27
|
Line 27
|
================================================================================ |
================================================================================ |
Fonction 'neg' |
Fonction 'neg' |
================================================================================ |
================================================================================ |
Entrées : |
Entrées : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Sorties : |
Sorties : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Effets de bord : néant |
Effets de bord : néant |
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
Line 48 instruction_neg(struct_processus *s_etat
|
Line 48 instruction_neg(struct_processus *s_etat
|
struct_objet *s_objet_argument; |
struct_objet *s_objet_argument; |
struct_objet *s_objet_resultat; |
struct_objet *s_objet_resultat; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
|
|
(*s_etat_processus).erreur_execution = d_ex; |
(*s_etat_processus).erreur_execution = d_ex; |
|
|
Line 120 instruction_neg(struct_processus *s_etat
|
Line 120 instruction_neg(struct_processus *s_etat
|
} |
} |
|
|
/* |
/* |
* Permet d'éviter les résultats du type -0. Valable pour tous |
* Permet d'éviter les résultats du type -0. Valable pour tous |
* les types... |
* les types... |
*/ |
*/ |
|
|
Line 133 instruction_neg(struct_processus *s_etat
|
Line 133 instruction_neg(struct_processus *s_etat
|
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Opposition d'un réel |
Opposition d'un réel |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
Line 217 instruction_neg(struct_processus *s_etat
|
Line 217 instruction_neg(struct_processus *s_etat
|
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Opposition d'un vecteur de réels |
Opposition d'un vecteur de réels |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
Line 320 instruction_neg(struct_processus *s_etat
|
Line 320 instruction_neg(struct_processus *s_etat
|
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Opposition d'une matrice de réels |
Opposition d'une matrice de réels |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
Line 641 instruction_neg(struct_processus *s_etat
|
Line 641 instruction_neg(struct_processus *s_etat
|
================================================================================ |
================================================================================ |
Fonction 'not' |
Fonction 'not' |
================================================================================ |
================================================================================ |
Entrées : pointeur sur une struct_processus |
Entrées : pointeur sur une struct_processus |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Sorties : |
Sorties : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Effets de bord : néant |
Effets de bord : néant |
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
Line 978 instruction_not(struct_processus *s_etat
|
Line 978 instruction_not(struct_processus *s_etat
|
================================================================================ |
================================================================================ |
Fonction '<>' |
Fonction '<>' |
================================================================================ |
================================================================================ |
Entrées : |
Entrées : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Sorties : |
Sorties : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Effets de bord : néant |
Effets de bord : néant |
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
Line 1003 instruction_ne(struct_processus *s_etat_
|
Line 1003 instruction_ne(struct_processus *s_etat_
|
|
|
logical1 difference; |
logical1 difference; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
unsigned long nombre_elements; |
integer8 nombre_elements; |
|
|
(*s_etat_processus).erreur_execution = d_ex; |
(*s_etat_processus).erreur_execution = d_ex; |
|
|
Line 1084 instruction_ne(struct_processus *s_etat_
|
Line 1084 instruction_ne(struct_processus *s_etat_
|
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
SAME NOT sur des valeurs numériques |
SAME NOT sur des valeurs numériques |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
Line 1182 instruction_ne(struct_processus *s_etat_
|
Line 1182 instruction_ne(struct_processus *s_etat_
|
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
SAME NOT portant sur des chaînes de caractères |
SAME NOT portant sur des chaînes de caractères |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
Line 1206 instruction_ne(struct_processus *s_etat_
|
Line 1206 instruction_ne(struct_processus *s_etat_
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
/* |
/* |
* Il y a de la récursivité dans l'air... |
* Il y a de la récursivité dans l'air... |
*/ |
*/ |
|
|
else if ((((*s_objet_argument_1).type == LST) && |
else if ((((*s_objet_argument_1).type == LST) && |
Line 1334 instruction_ne(struct_processus *s_etat_
|
Line 1334 instruction_ne(struct_processus *s_etat_
|
} |
} |
|
|
/* |
/* |
* Vecteurs de réels |
* Vecteurs de réels |
*/ |
*/ |
|
|
else if (((*s_objet_argument_1).type == VRL) && |
else if (((*s_objet_argument_1).type == VRL) && |
Line 1462 instruction_ne(struct_processus *s_etat_
|
Line 1462 instruction_ne(struct_processus *s_etat_
|
} |
} |
|
|
/* |
/* |
* Matrice de réels |
* Matrice de réels |
*/ |
*/ |
|
|
else if (((*s_objet_argument_1).type == MRL) && |
else if (((*s_objet_argument_1).type == MRL) && |
Line 1564 instruction_ne(struct_processus *s_etat_
|
Line 1564 instruction_ne(struct_processus *s_etat_
|
*/ |
*/ |
|
|
/* |
/* |
* Nom ou valeur numérique / Nom ou valeur numérique |
* Nom ou valeur numérique / Nom ou valeur numérique |
*/ |
*/ |
|
|
else if ((((*s_objet_argument_1).type == NOM) && |
else if ((((*s_objet_argument_1).type == NOM) && |
Line 1701 instruction_ne(struct_processus *s_etat_
|
Line 1701 instruction_ne(struct_processus *s_etat_
|
} |
} |
|
|
/* |
/* |
* Nom ou valeur numérique / Expression |
* Nom ou valeur numérique / Expression |
*/ |
*/ |
|
|
else if (((((*s_objet_argument_1).type == ALG) || |
else if (((((*s_objet_argument_1).type == ALG) || |
Line 1793 instruction_ne(struct_processus *s_etat_
|
Line 1793 instruction_ne(struct_processus *s_etat_
|
} |
} |
|
|
/* |
/* |
* Expression / Nom ou valeur numérique |
* Expression / Nom ou valeur numérique |
*/ |
*/ |
|
|
else if ((((*s_objet_argument_1).type == NOM) || |
else if ((((*s_objet_argument_1).type == NOM) || |
Line 2044 instruction_ne(struct_processus *s_etat_
|
Line 2044 instruction_ne(struct_processus *s_etat_
|
================================================================================ |
================================================================================ |
Fonction 'next' |
Fonction 'next' |
================================================================================ |
================================================================================ |
Entrées : |
Entrées : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Sorties : |
Sorties : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Effets de bord : néant |
Effets de bord : néant |
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
Line 2124 instruction_next(struct_processus *s_eta
|
Line 2124 instruction_next(struct_processus *s_eta
|
* Pour une boucle avec indice, on fait pointer |
* Pour une boucle avec indice, on fait pointer |
* (*(*s_etat_processus).l_base_pile_systeme).indice_boucle sur |
* (*(*s_etat_processus).l_base_pile_systeme).indice_boucle sur |
* la variable correspondante. Remarque, le contenu de la variable |
* la variable correspondante. Remarque, le contenu de la variable |
* est détruit au courant de l'opération. |
* est détruit au courant de l'opération. |
*/ |
*/ |
|
|
if (presence_compteur == d_vrai) |
if (presence_compteur == d_vrai) |
Line 2158 instruction_next(struct_processus *s_eta
|
Line 2158 instruction_next(struct_processus *s_eta
|
/* |
/* |
* Empilement pour calculer le nouvel indice. Au passage, la |
* Empilement pour calculer le nouvel indice. Au passage, la |
* variable (*(*s_etat_processus).l_base_pile_systeme).indice_boucle |
* variable (*(*s_etat_processus).l_base_pile_systeme).indice_boucle |
* est libérée. |
* est libérée. |
*/ |
*/ |
|
|
if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
Line 2205 instruction_next(struct_processus *s_eta
|
Line 2205 instruction_next(struct_processus *s_eta
|
if (presence_compteur == d_vrai) |
if (presence_compteur == d_vrai) |
{ |
{ |
/* |
/* |
* L'addition crée si besoin une copie de l'objet |
* L'addition crée si besoin une copie de l'objet |
*/ |
*/ |
|
|
(*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL; |
(*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL; |
Line 2301 instruction_next(struct_processus *s_eta
|
Line 2301 instruction_next(struct_processus *s_eta
|
{ // FORALL |
{ // FORALL |
if ((*(*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle) |
if ((*(*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle) |
.type == NON) |
.type == NON) |
{ // L'objet initial était vide. |
{ // L'objet initial était vide. |
(*s_etat_processus).niveau_courant--; |
(*s_etat_processus).niveau_courant--; |
depilement_pile_systeme(s_etat_processus); |
depilement_pile_systeme(s_etat_processus); |
|
|
Line 2462 instruction_next(struct_processus *s_eta
|
Line 2462 instruction_next(struct_processus *s_eta
|
================================================================================ |
================================================================================ |
Fonction 'nrand' |
Fonction 'nrand' |
================================================================================ |
================================================================================ |
Entrées : structure processus |
Entrées : structure processus |
------------------------------------------------------------------------------- |
------------------------------------------------------------------------------- |
Sorties : |
Sorties : |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Effets de bord : néant |
Effets de bord : néant |
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|