Télécharger maxin6.eso

Retour à la liste

Numérotation des lignes :

  1. C MAXIN6 SOURCE JC220346 16/06/15 21:15:05 8971
  2. subroutine maxin6(ipoin1,ipoin2,ipoin3,montyp,kplus,labs)
  3. C min max entre 2 listreel ou 2 listenti
  4. implicit real*8(a-h,o-z)
  5. implicit integer (i-n)
  6. character*(8) montyp
  7. -INC CCOPTIO
  8. -INC SMLREEL
  9. -INC SMLENTI
  10. if( MONTYP.eq.'LISTENTI') then
  11. * cas des listenti
  12. 1 continue
  13. mlenti=ipoin1
  14. mlent1=ipoin2
  15. segact mlenti,mlent1
  16. jg=lect(/1)
  17. if( mlent1.lect(/1).ne.jg) then
  18. call erreur(217)
  19. return
  20. endif
  21. segini mlent2
  22. ipoin3=mlent2
  23. if( kplus.eq.1) then
  24. if (labs.eq.0) then
  25. do i=1,jg
  26. mlent2.lect(i)= max(lect(i),mlent1.lect(i))
  27. enddo
  28. else
  29. do i=1,jg
  30. mlent2.lect(i)= max(abs(lect(i)),abs(mlent1.lect(i)))
  31. enddo
  32. endif
  33. else
  34. if (labs.eq.0) then
  35. do i=1,jg
  36. mlent2.lect(i)= min(lect(i),mlent1.lect(i))
  37. enddo
  38. else
  39. do i=1,jg
  40. mlent2.lect(i)= min(abs(lect(i)),abs(mlent1.lect(i)))
  41. enddo
  42. endif
  43. endif
  44. segdes mlenti,mlent1,mlent2
  45. mlenti=mlent2
  46. call lirobj(montyp,ipoin2,0,iretou)
  47. if(iretou.ne.0) go to 1
  48. elseif( MONTYP.eq.'LISTREEL') then
  49. * cas des listreels
  50. 2 continue
  51. mlreel=ipoin1
  52. mlree1=ipoin2
  53. segact mlreel,mlree1
  54. jg=prog(/1)
  55. if( mlree1.prog(/1).ne.jg) then
  56. call erreur(217)
  57. return
  58. endif
  59. segini mlree2
  60. ipoin3=mlree2
  61. if( kplus.eq.1) then
  62. if (labs.eq.0) then
  63. do i=1,jg
  64. mlree2.prog(i)= max(prog(i),mlree1.prog(i))
  65. enddo
  66. else
  67. do i=1,jg
  68. mlree2.prog(i)= max(abs(prog(i)),abs(mlree1.prog(i)))
  69. enddo
  70. endif
  71. else
  72. if (labs.eq.0) then
  73. do i=1,jg
  74. mlree2.prog(i)= min(prog(i),mlree1.prog(i))
  75. enddo
  76. else
  77. do i=1,jg
  78. mlree2.prog(i)= min(abs(prog(i)),abs(mlree1.prog(i)))
  79. enddo
  80. endif
  81. endif
  82. segdes mlreel,mlree1,mlree2
  83. mlreel=mlree2
  84. call lirobj(montyp,ipoin2,0,iretou)
  85. if(iretou.ne.0) go to 2
  86. endif
  87. return
  88. end
  89.  
  90.  
  91.  
  92.  

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