Ignore:
Timestamp:
Sep 21, 2011, 6:21:17 PM (14 years ago)
Author:
cmv
Message:
  • introduction du tirage gaussien par la methode de la ziggurat
  • ajout argument slim par defaut dans GaussianTail pour proteger d'une reccursion infinie genere par le tirage gaussien ziggurat dans le cas ou GaussianTail applique la methode par rejection (sdev<slim)

cmv, 21/09/2011

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/randinterf.h

    r3838 r4018  
    2929  C_Gaussian_PolarBoxMuller = 2,
    3030  C_Gaussian_RatioUnif = 3,
    31   C_Gaussian_LevaRatioUnif = 4
     31  C_Gaussian_LevaRatioUnif = 4,
     32  C_Gaussian_Ziggurat128 = 5
    3233};
    3334
     
    8889  virtual r_8 GaussianRatioUnif();
    8990  virtual r_8 GaussianLevaRatioUnif();
     91  virtual r_8 GaussianZiggurat128();
    9092  /*! \brief Return a random number following a gaussian distribution "sigma", (mean=0)*/
    9193  inline r_8 Gaussian(double sigma) {return sigma*Gaussian();}
     
    9496
    9597  /*! \brief Return a random number following a gaussian tail distribution for x>sdev */
    96   virtual r_8 GaussianTail(double sdev);
     98  virtual r_8 GaussianTail(double sdev,double slim=1.);
    9799
    98100  // --- Le tirage sur une distribution de poisson
Note: See TracChangeset for help on using the changeset viewer.