Télécharger prlagu.eso

Retour à la liste

Numérotation des lignes :

prlagu
  1. C PRLAGU SOURCE CHAT 05/01/13 02:28:14 5004
  2. subroutine prlagu(mlreel,mlreer,mlreei,iree,kerre)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. -INC SMLREEL
  6.  
  7. -INC PPARAM
  8. -INC CCOPTIO
  9. segment iroot
  10. complex roots(ndim)
  11. complex ad(ndim)
  12. complex a(ndim)
  13. endsegment
  14. epss=1.e-14
  15. segact mlreel
  16. m=prog(/1)-1
  17. ndim=prog(/1)
  18. segini iroot
  19. * write(6,*) 'prog' ,(prog(i),i=1,prog(/1))
  20.  
  21. do 1 i=1,m+1
  22. a(i)=cmplx(prog(i),0.)
  23. roots(i)=cmplx(0.,0.)
  24. 1 continue
  25. do 36 io=m+1,1,-1
  26. if(abs(a(io)).eq.0.d0) then
  27. * write(6,*) ' descente du degré d un cran'
  28. m=m-1
  29. else
  30. goto 37
  31. endif
  32. 36 continue
  33. 37 continue
  34. ndim=m+1
  35. jg=m
  36. segadj iroot
  37. segini mlree1,mlree2
  38. * write(6,*) ' appel a zroots'
  39. mm=m
  40. call zroots(a,mm,roots,ad,prog,mlree1.prog,mlree2.prog,kerre)
  41. if(kerre.ne.0) return
  42. if(iree.eq.1) then
  43. jg=0
  44. do 20 i=1,m
  45. if( abs(mlree2.prog(i)).gt.epss*abs(mlree1.prog(i))) go to 20
  46. jg=jg+1
  47. mlree1.prog(jg)=mlree1.prog(i)
  48. 20 continue
  49. segadj mlree1
  50. endif
  51. segdes mlree1,mlree2,mlreel
  52. mlreer=mlree1
  53. mlreei=mlree2
  54. segsup iroot
  55. return
  56. end
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  

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