-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Open
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.randomtest-suite
Description
Lines 32 to 36 in ccae7b4
typedef std::uniform_real_distribution<float> D; | |
typedef D::param_type param_type; | |
param_type p(5); | |
assert(p.a() == 5); | |
assert(p.b() == 1); |
This violates the Standard's preconditions, and MSVC's STL asserts about it. The Standardese is N4986 [rand.req.dist]/9:
For each of the constructors of
D
taking arguments corresponding to parameters of the distribution,P
shall have a corresponding constructor subject to the same requirements and taking arguments identical in number, type, and default values.
And [rand.dist.uni.real]/2:
explicit uniform_real_distribution(RealType a, RealType b = 1.0);
Preconditions:a <= b
andb - a <= numeric_limits<RealType>::max()
.
Metadata
Metadata
Assignees
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.randomtest-suite