Télécharger oter.eso

Retour à la liste

Numérotation des lignes :

oter
  1. C OTER SOURCE CHAT 09/09/09 21:15:08 6493
  2. subroutine oter
  3. implicit integer(i-n)
  4. implicit real*8(a-h,o-z)
  5.  
  6. -INC PPARAM
  7. -INC CCOPTIO
  8. -INC SMTABLE
  9. character*8 typind
  10. *
  11. * oter un indice d'une table en conservant la meme table
  12. *
  13. call lirobj ('TABLE', IPTABL,1,iretou)
  14. if(ierr.ne.0) return
  15. CALL QUETYP ( TYPIND,1,IRETOU)
  16. IF(IERR.NE.0) RETURN
  17. IF(TYPIND.EQ.'FLOTTANT' ) THEN
  18. CALL LIRREE ( XVA,1,IRETOU)
  19. ELSE
  20. CALL LIROBJ ( TYPIND , INDICE, 1,IRETOU)
  21. ENDIF
  22. IF ( IERR.NE.0) RETURN
  23. MTABLE = IPTABL
  24. SEGACT,MTABLE*MOD
  25. M = MLOTAB
  26. M0 = 0
  27. IF (TYPIND.EQ.'FLOTTANT') THEN
  28. DO 103 I=1,M
  29. IF( RMTABI(I) . EQ. XVA) THEN
  30. M0 = I
  31. GO TO 102
  32. ENDIF
  33. 103 CONTINUE
  34. ELSE
  35. DO 100 I=1,M
  36. IF (MTABTI(I) .EQ. TYPIND) THEN
  37. IF (MTABII(I) .EQ. INDICE) THEN
  38. M0 = I
  39. GOTO 102
  40. END IF
  41. END IF
  42. 100 CONTINUE
  43.  
  44. * END DO
  45. ENDIF
  46. 102 CONTINUE
  47. *
  48. IF (M0 .EQ. 0) THEN
  49. CALL ERREUR (171)
  50. RETURN
  51. END IF
  52. *
  53. * write(6,*) ' M0 ', M0
  54. M = M - 1
  55. MLOTAB=MLOTAB-1
  56. *
  57. * END DO
  58. DO 210 I=M0,M
  59. MTABLE.MTABTI(I) = MTABLE.MTABTI(I+1)
  60. MTABLE.MTABTV(I) = MTABLE.MTABTV(I+1)
  61. MTABLE.RMTABI(I) = MTABLE.RMTABI(I+1)
  62. MTABLE.MTABII(I) = MTABLE.MTABII(I+1)
  63. MTABLE.MTABIV(I) = MTABLE.MTABIV(I+1)
  64. MTABLE.RMTABV(I) = MTABLE.RMTABV(I+1)
  65. 210 CONTINUE
  66. * END DO
  67. *
  68. SEGDES,MTABLE
  69. *
  70. END
  71.  
  72.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales