cdpili
C CDPILI SOURCE PV 17/12/05 21:15:08 9646 C======================================================================= C Sous-programme cdpili (Collaborateur Difference PIle LIste) C Recheche les objets de la liste argume qui ne sont pas dans la pile C jcolac. Le resultat est enregistre dans la liste diff C======================================================================= integer iArgu,nArgu integer nArg integer iPile,iPoPi integer nObj integer iPoint character*(8) typNom -INC PPARAM -INC CCOPTIO -INC TMCOLAC segment LISARG character*8 nom(nArg) integer adress(nArg) endsegment pointeur jcolac.ICOLAC pointeur pile.ITLACC pointeur argume.LISARG pointeur diff.LISARG C write(ioimp,*) 'Entree dans CDPILI' if(iimpi.ge.7) then write(ioimp,*) 'Nombe d objets a verifier',nArgu endif nArg0=diff.adress(/1) nArg=nArg0+nArgu segadj diff narg=nArg0 C pour chaque argument do iArgu =1,nArgu C recuperer son type if(iimpi.gt.0) then if (typnom.ne.'POINT') then write(ioimp,*) 'Objet ',iArgu,' de type ',typnom endif endif C recuper le numero de pile associe pile=jcolac.kcola(iPile) nObj=pile.itlac(/1) if(iPopi.gt.0.and.iPopi.le.nObj) then iPoint=pile.itlac(iPopi) if(iPoint.le.0) then if(iimpi.ge.7) then write(ioimp,*) 'A recevoir en memoire' write(ioimp,*) 'Pointeur nul' endif nArg=nArg+1 else if(iimpi.gt.0) then if (typnom.ne.'POINT') then write(ioimp,*) ' deja en memoire' endif endif endif else if(iimpi.ge.7) then write(ioimp,*) 'A recevoir en memoire' write(ioimp,*) 'Position en dehors des limites',iPoPi,'/', &nObj endif nArg=nArg+1 endif enddo segadj diff C write(ioimp,*) 'Sortie de CDPILI' end
© Cast3M 2003 - Tous droits réservés.
Mentions légales