GSL Random engine issue

Dear experts,

when trying to use the GSL random engines via ROOT, I find the following:

$ source /cvmfs/sft.cern.ch/lcg/views/dev4/latest/x86_64-el9-gcc11-opt/setup.sh
$ root
   ------------------------------------------------------------------
  | Welcome to ROOT 6.32.01                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on May 29 2024, 23:39:51                 |
  | From heads/v6-32-00-patches@v6-32-00-23-gd0b74546af              |
  | With g++ (GCC) 11.3.0                                            |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

root [0] ROOT::Math::QuasiRandom<ROOT::Math::GSLRngRanLuxS2> hh
In module 'MathMore':
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Thu/ROOT/v6-32-00-patches/x86_64-el9-gcc11-opt/include/Math/QuasiRandom.h:71:26: error: too many arguments to function call, expected 0, have 1
      fEngine.Initialize(dimension);
      ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~
ROOT_prompt_0:1:53: note: in instantiation of member function 'ROOT::Math::QuasiRandom<ROOT::Math::GSLRngRanLuxS2>::QuasiRandom' requested here
ROOT::Math::QuasiRandom<ROOT::Math::GSLRngRanLuxS2> hh
                                                    ^
/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/Thu/ROOT/v6-32-00-patches/x86_64-el9-gcc11-opt/include/Math/GSLRndmEngines.h:98:12: note: 'Initialize' declared here
      void Initialize();

To solve the issue, is it enough to change the signature of GSLRandomEngine::Initialize() to GSLRandomEngine::Initialize(int)?

Best,
Alvaro

Hi Alvaro,

Thanks for the report!
Adding @moneta in the loop.

Cheers,
D

Hi,

Boost provide many random engines as GSL, but its software license seems to be less strict than GSL license GPL. Do you think it would be worth to provide Boost random engines instead of GSL ones?

Best,
Alvaro

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.