Télécharger fuslob.eso

Retour à la liste

Numérotation des lignes :

fuslob
  1. C FUSLOB SOURCE PASCAL 22/06/10 21:15:05 11377
  2. SUBROUTINE FUSLOB(MLOBJ1,MLOBJ2,MLOBJE)
  3. C
  4. C =====================================================================
  5. C = CE SUBROUTINE REALISE L OPERATION "ET" SUR LES 2 OBJETS =
  6. C = LISTOBJE MLOBJ1 ET MLOBJ2.LE RESULTAT EST RANGE DANS MLOBJE =
  7. C = =
  8. C =====================================================================
  9. C
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8(A-H,O-Z)
  12.  
  13. CHARACTER*8 TYPOB1,TYPOB2
  14.  
  15. -INC PPARAM
  16. -INC CCOPTIO
  17. -INC SMLOBJE
  18.  
  19. C CAS DES LISTES VIDES
  20. SEGACT,MLOBJ1
  21. N1=MLOBJ1.LISOBJ(/1)
  22. IF (N1.EQ.0) THEN
  23. MLOBJE = MLOBJ2
  24. RETURN
  25. ENDIF
  26. SEGACT,MLOBJ2
  27. N2=MLOBJ2.LISOBJ(/1)
  28. IF (N2.EQ.0) THEN
  29. MLOBJE = MLOBJ1
  30. RETURN
  31. ENDIF
  32.  
  33. C TEST TYPE OBJETS DES DEUX LISTES NON VIDES
  34. TYPOB1 = MLOBJ1.TYPOBJ
  35. TYPOB2 = MLOBJ2.TYPOBJ
  36. IF (TYPOB1.NE.TYPOB2) THEN
  37. MOTERR(1:8)='LISTOBJE'
  38. CALL ERREUR(83)
  39. RETURN
  40. ENDIF
  41.  
  42. C CONCATENATION DES DEUX LISTES
  43. NOBJ=N1+N2
  44. SEGINI,MLOBJE
  45. TYPOBJ = TYPOB1
  46. DO 10 I=1,N1
  47. LISOBJ(I)=MLOBJ1.LISOBJ(I)
  48. 10 CONTINUE
  49. DO 20 J=1,N2
  50. I=N1+J
  51. LISOBJ(I)=MLOBJ2.LISOBJ(J)
  52. 20 CONTINUE
  53. END
  54.  
  55.  
  56.  
  57.  

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