/usr/include/cln/random.h is in libcln-dev 1.3.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | // Public random number operations.
#ifndef _CL_RANDOM_H
#define _CL_RANDOM_H
#include "cln/types.h"
#include "cln/modules.h"
namespace cln {
class random_state {
public:
struct { uint32 hi; uint32 lo; } seed;
// Constructor:
random_state ();
};
// random32(randomstate) liefert eine neue Zufallszahl.
// > randomstate: ein Random-State, wird verändert
// < ergebnis: eine 32-Bit-Zufallszahl
extern uint32 random32 (random_state& randomstate);
#if defined(HAVE_FAST_LONGLONG)
// random64(randomstate) liefert eine neue Zufallszahl.
// > randomstate: ein Random-State, wird verändert
// < ergebnis: eine 64-Bit-Zufallszahl
inline uint64 random64 (random_state& randomstate)
{
return ((uint64)random32(randomstate) << 32)
| (uint64)random32(randomstate);
}
#endif
// Ein globaler Zufallszahlengenerator.
extern random_state default_random_state;
class cl_random_def_init_helper
{
static int count;
public:
cl_random_def_init_helper();
~cl_random_def_init_helper();
};
static cl_random_def_init_helper cl_random_def_init_helper_instance;
// Das ist der Default-Generator.
inline uint32 random32 (void)
{ return random32(default_random_state); }
#if defined(HAVE_FAST_LONGLONG)
inline uint64 random64 (void)
{ return random64(default_random_state); }
#endif
} // namespace cln
#endif /* _CL_RANDOM_H */
|