A.34 library(random): Random numbers
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(random): Random numbers
          • random/1
          • random_between/3
          • random/3
          • setrand/1
          • getrand/1
          • maybe/0
          • maybe/1
          • maybe/2
          • random_perm2/4
          • random_member/2
          • random_select/3
          • randset/3
          • randseq/3
          • random_permutation/2
    • Packages
Availability::- use_module(library(random)).(can be autoloaded)
Source[det]randset(+K:int, +N:int, -S:list(int))
S is a sorted list of K unique random integers in the range 1..N. Implemented by enumerating 1..N and deciding whether or not the number should be part of the set. For example:
?- randset(5, 5, S).
S = [1, 2, 3, 4, 5].          (always)
?- randset(5, 20, S).
S = [2, 7, 10, 19, 20].
See also
randseq/3.
bug
Slow if N is large and K is small.