Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
src_corelib_global_qrandom.cpp
Go to the documentation of this file.
1
// Copyright (C) 2018 Intel Corporation.
2
// Copyright (C) 2018 The Qt Company Ltd.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
4
5
#
include
<
QRandomGenerator
>
6
#
include
<
QList
>
7
8
double
snippets_1_2_3
()
9
{
10
//! [0]
11
quint32 value = QRandomGenerator::global()->generate();
12
//! [0]
13
14
//! [1]
15
QRandomGenerator prng1(1234), prng2(1234);
16
Q_ASSERT(prng1.generate() == prng2.generate());
17
Q_ASSERT(prng1.generate64() == prng2.generate64());
18
//! [1]
19
20
//! [2]
21
int
x = QRandomGenerator::global()->generate();
22
int
y = QRandomGenerator::global()->generate();
23
int
w = QRandomGenerator::global()->bounded(16384);
24
int
h = QRandomGenerator::global()->bounded(16384);
25
//! [2]
26
27
//! [3]
28
std::uniform_real_distribution<> dist(1, 2.5);
29
return
dist(*QRandomGenerator::global());
30
//! [3]
31
}
32
class
Generator
:
public
QRandomGenerator
33
{
34
public
:
35
qreal
snippets_4_to_11
(
int
z, quint32 *begin, quint32 *end,
const
quint32 *seedBuffer, size_t len);
36
};
37
38
qreal
Generator
::
snippets_4_to_11
(
int
z, quint32 *begin, quint32 *end,
const
quint32 *seedBuffer, size_t len)
39
{
40
{
41
//! [4]
42
std::seed_seq sseq(seedBuffer, seedBuffer + len);
43
QRandomGenerator generator(sseq);
44
//! [4]
45
}
46
47
//! [5]
48
std::seed_seq sseq(begin, end);
49
QRandomGenerator generator(sseq);
50
//! [5]
51
52
//! [6]
53
while
(z--)
54
generator.generate();
55
//! [6]
56
57
//! [7]
58
std::generate(begin, end, [
this
]() {
return
generate(); });
59
//! [7]
60
61
//! [8]
62
std::generate(begin, end, []() {
return
QRandomGenerator::global()->generate64(); });
63
//! [8]
64
65
//! [9]
66
QList<quint32> list;
67
list.resize(16);
68
QRandomGenerator::global()->fillRange(list.data(), list.size());
69
//! [9]
70
71
//! [10]
72
quint32 array[2];
73
QRandomGenerator::global()->fillRange(array);
74
//! [10]
75
76
//! [11]
77
QRandomGenerator64 rd;
78
return
std::generate_canonical<qreal, std::numeric_limits<qreal>::digits>(rd);
79
//! [11]
80
}
81
82
double
generateDouble
()
83
{
84
return
0.0;
85
}
86
87
double
generateDoubleWithHighest
(
double
highest)
88
{
89
//! [12]
90
return
generateDouble
(
)
* highest;
91
//! [12]
92
}
93
94
#
include
<
QColor
>
95
96
QColor
snippets_13_to_15
()
97
{
98
{
99
//! [13]
100
quint32 v = QRandomGenerator::global()->bounded(256);
101
//! [13]
102
}
103
104
//! [14]
105
quint32 v = QRandomGenerator::global()->bounded(1000, 2000);
106
//! [14]
107
108
//! [15]
109
return
QColor::fromRgb(QRandomGenerator::global()->generate());
110
//! [15]
111
}
112
113
void
snippet_16
()
114
{
115
//! [16]
116
qint64 value = QRandomGenerator64::global()->generate() & std::numeric_limits<qint64>::max();
117
//! [16]
118
}
Generator
Definition
src_corelib_global_qrandom.cpp:33
Generator::snippets_4_to_11
qreal snippets_4_to_11(int z, quint32 *begin, quint32 *end, const quint32 *seedBuffer, size_t len)
Definition
src_corelib_global_qrandom.cpp:38
snippet_16
void snippet_16()
[14]
Definition
src_corelib_global_qglobal_widgets.cpp:22
snippets_1_2_3
double snippets_1_2_3()
Definition
src_corelib_global_qrandom.cpp:8
snippets_13_to_15
QColor snippets_13_to_15()
Definition
src_corelib_global_qrandom.cpp:96
generateDouble
double generateDouble()
Definition
src_corelib_global_qrandom.cpp:82
generateDoubleWithHighest
double generateDoubleWithHighest(double highest)
Definition
src_corelib_global_qrandom.cpp:87
qtbase
src
corelib
doc
snippets
code
src_corelib_global_qrandom.cpp
Generated on
for Qt by
1.18.0