OpenCoverage

randint.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gl/lib/randint.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/* Generate random integers.-
2-
3 Copyright (C) 2006-2018 Free Software Foundation, Inc.-
4-
5 This program is free software: you can redistribute it and/or modify-
6 it under the terms of the GNU General Public License as published by-
7 the Free Software Foundation, either version 3 of the License, or-
8 (at your option) any later version.-
9-
10 This program is distributed in the hope that it will be useful,-
11 but WITHOUT ANY WARRANTY; without even the implied warranty of-
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the-
13 GNU General Public License for more details.-
14-
15 You should have received a copy of the GNU General Public License-
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */-
17-
18/* Written by Paul Eggert. */-
19-
20#ifndef RANDINT_H-
21-
22# define RANDINT_H 1-
23-
24# include <stdint.h>-
25-
26# include "randread.h"-
27-
28/* An unsigned integer type, used for random integers, and its maximum-
29 value. */-
30typedef uintmax_t randint;-
31# define RANDINT_MAX UINTMAX_MAX-
32-
33struct randint_source;-
34-
35struct randint_source *randint_new (struct randread_source *);-
36struct randint_source *randint_all_new (char const *, size_t);-
37struct randread_source *randint_get_source (struct randint_source const *)-
38 _GL_ATTRIBUTE_PURE;-
39randint randint_genmax (struct randint_source *, randint genmax);-
40-
41/* Consume random data from *S to generate a random number in the range-
42 0 .. CHOICES-1. CHOICES must be nonzero. */-
43static inline randint-
44randint_choose (struct randint_source *s, randint choices)-
45{-
46 return randint_genmax (s, choices - 1);
executed 7147 times by 2 tests: return randint_genmax (s, choices - 1);
Executed by:
  • shred
  • shuf
7147
47}-
48-
49void randint_free (struct randint_source *);-
50int randint_all_free (struct randint_source *);-
51-
52#endif-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.1.2