C MAXIN6 SOURCE CHAT 11/11/09 21:15:07 7187 subroutine maxin6(ipoin1,ipoin2,ipoin3,montyp,kplus) C min max entre 2 listreel ou 2 listenti implicit real*8(a-h,o-z) implicit integer (i-n) character*(8) montyp -INC CCOPTIO -INC SMLREEL -INC SMLENTI if( MONTYP.eq.'LISTENTI') then * cas des listenti 1 continue mlenti=ipoin1 mlent1=ipoin2 segact mlenti,mlent1 jg=lect(/1) if( mlent1.lect(/1).ne.jg) then call erreur(217) return endif segini mlent2 ipoin3=mlent2 if( kplus.eq.1) then do i=1,jg mlent2.lect(i)= max(lect(i),mlent1.lect(i)) enddo else do i=1,jg mlent2.lect(i)= min(lect(i),mlent1.lect(i)) enddo endif segdes mlenti,mlent1,mlent2 mlenti=mlent2 call lirobj(montyp,ipoin2,0,iretou) if(iretou.ne.0) go to 1 else * cas des listreels 2 continue mlreel=ipoin1 mlree1=ipoin2 segact mlreel,mlree1 jg=prog(/1) if( mlree1.prog(/1).ne.jg) then call erreur(217) return endif segini mlree2 ipoin3=mlree2 if( kplus.eq.1) then do i=1,jg mlree2.prog(i)= max(prog(i),mlree1.prog(i)) enddo else do i=1,jg mlree2.prog(i)= min(prog(i),mlree1.prog(i)) enddo endif segdes mlreel,mlree1,mlree2 mlreel=mlree2 call lirobj(montyp,ipoin2,0,iretou) if(iretou.ne.0) go to 2 endif return end