rempl1
C REMPL1 SOURCE JC220346 12/05/15 21:15:03 7370
************************************************************************
*
* R E M P L 1
* -----------
*
* FONCTION:
* ---------
*
* REMPLACER LE I-EME ELEMENT D'UN OBJET DE TYPE "LISTREEL".
*
* MODE D'APPEL:
* -------------
*
* CALL REMPL1 (IPOINT,IEME,REELDP)
*
* PARAMETRES: (E)=ENTREE (S)=SORTIE
* -----------
*
* IPOINT ENTIER (E) POINTEUR DE L'OBJET DE TYPE "LISTREEL".
* IEME ENTIER (E) NUMERO D'ORDRE DE L'ELEMENT A REMPLACER
* DANS L'OBJET DE TYPE "LISTREEL".
* REELDP REEL DP (E) ELEMENT REMPLACANT.
* IPLISR ENTIER (E) POINTEUR VERS UN "LISTREEL" DE REMPLACANTS
* IPOS ENTIER (E) SI NEGATIF, IEME EST UN POINTEUR "LISTENTI"
*
* SOUS-PROGRAMMES APPELES:
* ------------------------
*
* ERREUR
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
* PASCAL MANIGOT 6 DECEMBRE 1984
*
* LANGAGE:
* --------
*
* ESOPE + FORTRAN77
*
************************************************************************
*
IMPLICIT INTEGER(I-N)
-INC PPARAM
-INC CCOPTIO
-INC SMLENTI
-INC SMLREEL
*
REAL*8 REELDP
*
MLREEL=IPOINT
SEGACT,MLREEL*MOD
*
* Y a-t-il plusieurs remplacements a faire ?
NBRMPL=1
IF (IPOS.LT.0) THEN
MLENT1=IEME
SEGACT,MLENT1
NBRMPL=MLENT1.LECT(/1)
*
* Y a-t-il des valeurs de remplacement distinctes ?
IF (IPLISR.NE.0) THEN
MLREE1=IPLISR
SEGACT,MLREE1
MOTERR(1:8)='LISTxxxx'
RETURN
ENDIF
ENDIF
ENDIF
*
* Mise a jour du LISTREEL
DO II=1,NBRMPL
IF (IPOS.LT.0) IEME=MLENT1.LECT(II)
ELSE
INTERR(1)=IEME
ENDIF
ENDDO
*
SEGDES,MLREEL
IF (IPOS.LT.0) SEGDES,MLENT1
IF (IPLISR.NE.0) SEGDES,MLREE1
*
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales