Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several fixes for Random on long lists in 64-bit GAP #781

Merged
merged 3 commits into from
May 10, 2016

Commits on May 5, 2016

  1. Remove RandomListMT

    As reported by Stefan Kohl, RandomListMT did not work as expected
    in 64-bit GAP on lists of length >= 2^28.
    Kernel function removed, corresponding GAP function now uses
    Random(1,Length(list)).
    frankluebeck committed May 5, 2016
    Configuration menu
    Copy the full SHA
    b7fe204 View commit details
    Browse the repository at this point in the history
  2. Fix RandomList and use of RANDOM_LIST

    RANDOM_LIST (compiled function from lib/random.g) does not work
    as expected in 64-bit GAP on list of length >= 2^28 (it only returns
    positions which are equal mod 2^28).
    
    RandomList did not use the Mersenne twister as is explicitly documented
    (but was synonym to RANDOM_LIST).
    
    - Now RandomList works as documented.
    - RandomList is used in several places of the library instead of
      RANDOM_LIST.
    - Functions for the GlobalRandomSource and GAPRandomSource now use
      RANDOM_LIST only for lists of length < 2^28.
    frankluebeck committed May 5, 2016
    Configuration menu
    Copy the full SHA
    86e8092 View commit details
    Browse the repository at this point in the history
  3. Some tests for Random on lists.

    Introduced two directories for code that behaves differently in
    32-bit GAP and 64-bit GAP. Only one is used in tst/teststandard.g
    depending on the current GAP.
    frankluebeck committed May 5, 2016
    Configuration menu
    Copy the full SHA
    6473f24 View commit details
    Browse the repository at this point in the history