Télécharger cherac.eso

Retour à la liste

Numérotation des lignes :

cherac
  1. C CHERAC SOURCE CHAT 11/05/24 21:15:03 6978
  2. subroutine cherac(mlreel,xraci,xva1,xva2)
  3. implicit real*8(a-h,o-z)
  4. implicit integer(i-n)
  5.  
  6. -INC PPARAM
  7. -INC CCOPTIO
  8. -INC SMLREEL
  9. if( xva1.GT.xva2) then
  10. call erreur(21)
  11. return
  12. endif
  13. segact mlreel
  14. n= prog(/1)-1
  15. c1 = prog(1)
  16. da = (xva2-xva1) /10000.d0
  17. aa= xva1
  18. ab= aa
  19. do ib=1,n
  20. c2=c2 + ab * prog(1+ib)
  21. ab = ab * aa
  22. enddo
  23. zz=c2
  24. do 1 ia = 1, 10000
  25. c2 = c1
  26. aa=xva1+ ia * da
  27. ab=aa
  28. do ib=1,n
  29. c2 = c2 + ab *prog(1+ib)
  30. ab=ab*aa
  31. enddo
  32. if( c2*zz .lt. 0.d0) then
  33. * write(6,*) ' on a trouve une valeur entre ',(aa - da ),aa
  34. go to 2
  35. endif
  36. 1 continue
  37. xraci= -1234567.d0
  38. return
  39. * on recommence entrze aa-da et aa
  40. 2 continue
  41. do 10 itou=1,7
  42. xdep=aa-da
  43. dda = da / 10.D0
  44. do 3 ia = 0, 10
  45. c2 = c1
  46. aa=xdep+ ia * dda
  47. ab=aa
  48. do ib=1,n
  49. c2 = c2 + ab *prog(1+ib)
  50. ab=ab*aa
  51. enddo
  52. if( c2*zz.lt. 0.d0) then
  53. * write(6,*) ' on a trouve une valeur entre ',(aa - dda ),aa
  54. go to 4
  55. endif
  56. 3 continue
  57. write(6,*) ' pas de soultion trouvé pour deuxieme passage!'
  58. ierr=2
  59. return
  60. 4 continue
  61. da = dda
  62. 10 continue
  63. xraci = aa - dda / 2.d0
  64. return
  65. end
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  

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