Télécharger shole3i.eso

Retour à la liste

Numérotation des lignes :

shole3i
  1. C SHOLE3I SOURCE PV090527 26/01/30 21:15:34 12465
  2. C----------------------------------------------------------------------
  3. C Construire le squelette d'une LIGN
  4. C
  5. C Entrees :
  6. C ---------
  7. C LIGN : Pointeur sur le segment LIGN associe au noeud I
  8. C I : Numero du noeud concerne
  9. C IMIN : Numero du noeud associe a la premier valeur non nulle
  10. C du segment LIGN
  11. C
  12. C Sortie :
  13. C ---------
  14. C LIGN : Pointeur sur le segment LIGN associe au noeud I ou le
  15. C tableau VAL a ete actualise
  16. C----------------------------------------------------------------------
  17. SUBROUTINE SHOLE3I(ITHR)
  18. C
  19. IMPLICIT INTEGER(I-N)
  20. IMPLICIT REAL*8 (A-H,O-Z)
  21. -INC SMMATRI
  22. -INC CCHOLE
  23. POINTEUR LILIGN.MILIGN
  24. SEGMENT IMMT(NBLIG)
  25. segment iligns(nnoe)
  26. C
  27. DO 100 JBIB=IL2,IL1,-NBTHR
  28. JBI=JBIB-ITHR+1
  29. IF (JBI.GT.IL2) GOTO 100
  30. IF (JBI.LT.IL1) GOTO 100
  31. LIGN=LILIGN.ILIGN(JBI)
  32. LPL=IPPVV(2)-IPPVV(1)
  33. KIDEPB=IPREL-LPL
  34. C kidep : dernier terme non nul avant le terme courant de la ligne lign
  35. KIDEPN=IVPO(1)
  36. KIDEP=KIDEPB+KIDEPN
  37. C WRITE(*,*)'LIGNE',JBI,KIDEP,KIDEPB,KIDEPN,IPPVV(2),IPPVV(1),LPL
  38. DO 10 J=MAX(IPER,IMMT(JBI)),IDER
  39. IPPR=LCARA(2,J)
  40. IDDR=LCARA(3,J)
  41. CC WRITE(*,*) 'LIGNE ',J,LCARA(1,J),KIDEP,KIDEPB,IPPR,IDDR,MASDIM
  42. IF (IDDR.LT.KIDEPB) GOTO 10
  43. IF (KIDEP.LT.LCARA(1,J)) THEN
  44. IMSQ=IMASQ(MASQA(IPPR-KIDEPB))
  45. IF (IMSQ.EQ.0) THEN
  46. WRITE(*,*) 'erreur interne shole3i'
  47. CALL ERREUR(5)
  48. ENDIF
  49. IF (IMSQ.LT.0) THEN
  50. IDEB=-IMSQ
  51. ELSE
  52. IDEB=MASQB(IMSQ)+MASQD(IPPR-KIDEPB)-1
  53. ENDIF
  54. IF (IDEB.GT.(IDDR-KIDEPB)) GOTO 10
  55. ENDIF
  56. LIG1=iligns(J)
  57. if (lig1.eq.0) lig1=milign.ilign(j)
  58. NBG1=LIG1.IPPVV(2)-1
  59. CALL SHOLE3(IPREL,IDERL,LPL,KIDEPN,IMASQ(1),
  60. & IPPR ,IDDR ,NBG1,LIG1.IVPO(1))
  61. LIGN.IVPO(1)=KIDEPN
  62. KIDEP=KIDEPB+KIDEPN
  63. 10 CONTINUE
  64. C WRITE(*,*)'SHOLE3I LIGNE=',JBI,'DE',IPER,'A',IDER,J,NBG1,KIDEPN
  65. C segprt,lign
  66. 100 CONTINUE
  67. END
  68.  
  69.  
  70.  

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