Télécharger maxin6.eso

Retour à la liste

Numérotation des lignes :

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

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