gira.f [SRC] [CPP] [JOB] [SCAN]
srcresultats/00benedicte/.xvpics [=]
resultats/pt1_complet/.xvpics [=]
archivage/code2000X_testCG [=]
resultats/pt1_complet [=]



   1 | c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   2 | c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   3 | c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   4 | c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   5 | c
   6 | c.......................................................................
   7 | c
   8 | c  random generator from an inverse gaussian distribution
   9 | c
  10 | c     DEBUG LE 17 sep 1999
  11 | c
  12 | c  in :  * $\phi$                ---> phgira
  13 | c        * $\mu$                 ---> umgira
  14 | c
  15 | c  out : * $x$                   ---> xgira
  16 | c
  17 | c.......................................................................
  18 |       subroutine gira(phgira,umgira,xgira)
  19 | c.......................................................................
  20 |       implicit double precision (a-h,o-z)
  21 | c.......................................................................
  22 |       call chra(gira1)
  23 |       gira2=gira1/phgira
  24 |       gira3=gira2/2.d0
  25 |       gira4=umgira*(1.d0+gira3-dsqrt(gira2+gira3**2))
  26 |       gira5=umgira/(umgira+gira4)
  27 |       call rand_uniforme(gira6)
  28 | 
  29 | 
  30 |     
  31 |       if (umgira .eq. 0.d+0) then
  32 | c        kbar est null donc k>0 ===> k est nul
  33 |          xgira = 0.d+0
  34 |       else
  35 | 
  36 | 
  37 | cc      if ((umgira .gt. 1.d+100 ) .and.
  38 | cc     &        ((phgira .gt. 1.d+09) .or. (phgira .lt. 1.d-09)) )   then
  39 | c        kbar est tres grand, probleme avec valeurs extremes de phi
  40 | c        ce probleme ne concerne que SUN !!!!
  41 | cc            print *, 'WARNING gira. phgira= ', phgira
  42 | cc            xgira = umgira
  43 |             
  44 | 
  45 | cc      else   
  46 |     
  47 | 
  48 |       if (gira6.lt.gira5) then
  49 |          xgira=gira4
  50 |       else
  51 |          xgira = (umgira/gira4) * umgira
  52 |       endif
  53 | 
  54 | 
  55 |      
  56 | cc      endif
  57 |       endif
  58 | c.......................................................................
  59 |       return
  60 |       end


gira.f could be called by:
rags.f [archivage/code2000X_testCG] - 24
rags.f [resultats/pt1_complet] - 24
rags.f [src] - 24
rass.f [archivage/code2000X_testCG] - 26
rass.f [resultats/pt1_complet] - 26
rass.f [src] - 26