linuag
C LINUAG SOURCE PV 05/04/13 21:15:55 5073 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C======================================================================= C BUT : LECTURE D UN NUAGE C APPELE PAR : LIPIL C APPELLE : LFCDIM LFCDIE LFCDI2 C======================================================================= C======================================================================= -INC SMNUAGE -INC CCFXDR C C C======================================================================= SEGMENT/ITBBE1/( ITABE1(NN)) SEGMENT/ITBBM1/( ITABM1(NM)) segment itbbc1 character*4 itabc1(nm) endsegment SEGMENT/ITLACC/( ITLAC(0)) DIMENSION ILENA(2) CHARACTER*8 CTYP C-------------------------------------------------------------------- IRET=0 DO 1101 IEL=1,IMAX1 * write(6,fmt='('' nuage numero '',i6)') iel NTOTO=2 IF (IRETOU.NE.0) GO TO 1000 NVAR = ILENA(1) NBCOUP=ILENA(2) * write(6,fmt='( ''nvar nbcoup '' , 2I6)') nvar,nbcoup NM = 4*NVAR SEGINI ITBBM1,itbbc1 SEGINI MNUAGE if (iform.eq.2) ios=IXDRSTRING( ixdrr, itabc1(1)(1:nm*4)) * write(6,fmt='('' nuanomtyp '',/,(6a10))') (itabm1(lk),lk=1,nm) IF(IRETOU.NE.0) GOTO 1000 DO 1 I=1,NVAR J = 4*I-3 if (iform.ne.2) then WRITE (NUANOM(I),FMT='(2A4)') ITABM1(J),ITABM1(J+1) WRITE (NUATYP(I),FMT='(2A4)') ITABM1(J+2),ITABM1(J+3) else nuanom(i)(1:4)=itabc1(j) nuanom(i)(5:8)=itabc1(j+1) nuatyp(i)(1:4)=itabc1(j+2) nuatyp(i)(5:8)=itabc1(j+3) endif 1 CONTINUE SEGSUP ITBBM1,itbbc1 DO 2 I= 1,NVAR CTYP = NUATYP(I) IF( CTYP.EQ.'FLOTTANT') THEN SEGINI NUAVFL NUAPOI(I)= NUAVFL IF(IRETOU.NE.0) GOTO 1000 SEGDES NUAVFL ELSEIF(CTYP.EQ.'MOT ') THEN SEGINI NUAVMO NUAPOI(I)=NUAVMO NM = NBCOUP*2 SEGINI ITBBM1,itbbc1 if (iform.eq.2) ios=IXDRSTRING( ixdrr, itabc1(1)(1:nm*4)) IF(IRETOU.NE.0) GOTO 1000 DO 3 K=1,NBCOUP J=2*K -1 if (iform.ne.2) then WRITE (NUAMOT(K),FMT='(2A4)') ITABM1(J),ITABM1(J+1) else nuamot(k)(1:4)=itabc1(j) nuamot(k)(5:8)=itabc1(j+1) endif 3 CONTINUE SEGDES NUAVMO SEGSUP ITBBM1,itbbc1 ELSEIF(CTYP.EQ.'LOGIQUE ') THEN SEGINI NUAVLO NUAPOI(I)= NUAVLO NN=NBCOUP SEGINI ITBBE1 IF(IRETOU.NE.0) GOTO 1000 DO 4 K=1,NN IF( ITABE1(K).EQ.1) THEN NUALOG(K)=.TRUE. ELSE NUALOG(K)=.FALSE. ENDIF 4 CONTINUE SEGSUP ITBBE1 SEGDES NUAVLO ELSE SEGINI NUAVIN NUAPOI(I)=NUAVIN IF(IRETOU.NE.0) GOTO 1000 SEGDES NUAVIN ENDIF 2 CONTINUE SEGDES MNUAGE ITLAC(**)=MNUAGE * write(6,fmt='('' fin du nuage'')') 1101 CONTINUE RETURN 1000 CONTINUE IRET=1 IF(MNUAGE.NE.0) SEGSUP MNUAGE RETURN C ------------------------------------------------------- END
© Cast3M 2003 - Tous droits réservés.
Mentions légales