[libcxx-commits] [libcxx] [libc++][random] Applied `[[nodiscard]]` to `<random>` (PR #204970)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Jun 21 22:04:01 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Hristo Hristov (H-G-Hristov)
<details>
<summary>Changes</summary>
Towards: #<!-- -->172124
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
- https://wg21.link/rand
---
Patch is 101.24 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/204970.diff
50 Files Affected:
- (modified) libcxx/include/__random/bernoulli_distribution.h (+7-7)
- (modified) libcxx/include/__random/binomial_distribution.h (+9-9)
- (modified) libcxx/include/__random/cauchy_distribution.h (+9-9)
- (modified) libcxx/include/__random/chi_squared_distribution.h (+7-7)
- (modified) libcxx/include/__random/discard_block_engine.h (+5-5)
- (modified) libcxx/include/__random/discrete_distribution.h (+7-7)
- (modified) libcxx/include/__random/exponential_distribution.h (+7-7)
- (modified) libcxx/include/__random/extreme_value_distribution.h (+9-9)
- (modified) libcxx/include/__random/fisher_f_distribution.h (+9-9)
- (modified) libcxx/include/__random/gamma_distribution.h (+9-9)
- (modified) libcxx/include/__random/generate_canonical.h (+1-1)
- (modified) libcxx/include/__random/geometric_distribution.h (+7-7)
- (modified) libcxx/include/__random/independent_bits_engine.h (+5-5)
- (modified) libcxx/include/__random/linear_congruential_engine.h (+4-4)
- (modified) libcxx/include/__random/lognormal_distribution.h (+9-9)
- (modified) libcxx/include/__random/mersenne_twister_engine.h (+4-4)
- (modified) libcxx/include/__random/negative_binomial_distribution.h (+9-9)
- (modified) libcxx/include/__random/normal_distribution.h (+9-9)
- (modified) libcxx/include/__random/piecewise_constant_distribution.h (+9-9)
- (modified) libcxx/include/__random/piecewise_linear_distribution.h (+9-9)
- (modified) libcxx/include/__random/poisson_distribution.h (+7-7)
- (modified) libcxx/include/__random/random_device.h (+4-4)
- (modified) libcxx/include/__random/seed_seq.h (+2-2)
- (modified) libcxx/include/__random/shuffle_order_engine.h (+5-5)
- (modified) libcxx/include/__random/student_t_distribution.h (+7-7)
- (modified) libcxx/include/__random/subtract_with_carry_engine.h (+4-4)
- (modified) libcxx/include/__random/uniform_int_distribution.h (+9-9)
- (modified) libcxx/include/__random/uniform_real_distribution.h (+9-9)
- (modified) libcxx/include/__random/weibull_distribution.h (+9-9)
- (added) libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp (+607)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp (+2-2)
- (modified) libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp (+2-2)
``````````diff
diff --git a/libcxx/include/__random/bernoulli_distribution.h b/libcxx/include/__random/bernoulli_distribution.h
index 8d1bfad9e7d29..54ca0ee0f7504 100644
--- a/libcxx/include/__random/bernoulli_distribution.h
+++ b/libcxx/include/__random/bernoulli_distribution.h
@@ -36,7 +36,7 @@ class bernoulli_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(double __p = 0.5) : __p_(__p) {}
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__p_ == __y.__p_;
@@ -60,20 +60,20 @@ class bernoulli_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return false; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return true; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return false; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return true; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const bernoulli_distribution& __x, const bernoulli_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/binomial_distribution.h b/libcxx/include/__random/binomial_distribution.h
index 76996abacb3ac..e4fe92143741a 100644
--- a/libcxx/include/__random/binomial_distribution.h
+++ b/libcxx/include/__random/binomial_distribution.h
@@ -45,8 +45,8 @@ class binomial_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __t = 1, double __p = 0.5);
- _LIBCPP_HIDE_FROM_ABI result_type t() const { return __t_; }
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type t() const { return __t_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__t_ == __y.__t_ && __x.__p_ == __y.__p_;
@@ -74,21 +74,21 @@ class binomial_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type t() const { return __p_.t(); }
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type t() const { return __p_.t(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return t(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return t(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const binomial_distribution& __x, const binomial_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/cauchy_distribution.h b/libcxx/include/__random/cauchy_distribution.h
index 0ad887dd8d645..65e83095c5445 100644
--- a/libcxx/include/__random/cauchy_distribution.h
+++ b/libcxx/include/__random/cauchy_distribution.h
@@ -43,8 +43,8 @@ class cauchy_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __a = 0, result_type __b = 1) : __a_(__a), __b_(__b) {}
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;
@@ -70,21 +70,21 @@ class cauchy_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const cauchy_distribution& __x, const cauchy_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/chi_squared_distribution.h b/libcxx/include/__random/chi_squared_distribution.h
index 4ce2c17c354c5..8088dfe9d65bd 100644
--- a/libcxx/include/__random/chi_squared_distribution.h
+++ b/libcxx/include/__random/chi_squared_distribution.h
@@ -41,7 +41,7 @@ class chi_squared_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __n = 1) : __n_(__n) {}
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__n_ == __y.__n_;
@@ -65,22 +65,22 @@ class chi_squared_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p) {
return gamma_distribution<result_type>(__p.n() / 2, 2)(__g);
}
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool
operator==(const chi_squared_distribution& __x, const chi_squared_distribution& __y) {
diff --git a/libcxx/include/__random/discard_block_engine.h b/libcxx/include/__random/discard_block_engine.h
index a6e1997fc1c2d..ba9dae56806d9 100644
--- a/libcxx/include/__random/discard_block_engine.h
+++ b/libcxx/include/__random/discard_block_engine.h
@@ -54,8 +54,8 @@ class discard_block_engine {
static constexpr result_type _Max = _Engine::max();
#endif
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type min() { return _Engine::min(); }
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type max() { return _Engine::max(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type min() { return _Engine::min(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type max() { return _Engine::max(); }
// constructors and seeding functions
_LIBCPP_HIDE_FROM_ABI discard_block_engine() : __n_(0) {}
@@ -83,14 +83,14 @@ class discard_block_engine {
}
// generating functions
- _LIBCPP_HIDE_FROM_ABI result_type operator()();
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()();
_LIBCPP_HIDE_FROM_ABI void discard(unsigned long long __z) {
for (; __z; --__z)
- operator()();
+ (void)operator()();
}
// property functions
- _LIBCPP_HIDE_FROM_ABI const _Engine& base() const _NOEXCEPT { return __e_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const _Engine& base() const _NOEXCEPT { return __e_; }
template <class _Eng, size_t _Pp, size_t _Rp>
friend bool
diff --git a/libcxx/include/__random/discrete_distribution.h b/libcxx/include/__random/discrete_distribution.h
index 528de4245ef51..1ade6fd8bf1af 100644
--- a/libcxx/include/__random/discrete_distribution.h
+++ b/libcxx/include/__random/discrete_distribution.h
@@ -52,7 +52,7 @@ class discrete_distribution {
template <class _UnaryOperation>
_LIBCPP_HIDE_FROM_ABI param_type(size_t __nw, double __xmin, double __xmax, _UnaryOperation __fw);
- _LIBCPP_HIDE_FROM_ABI vector<double> probabilities() const;
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI vector<double> probabilities() const;
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__p_ == __y.__p_;
@@ -92,20 +92,20 @@ class discrete_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI vector<double> probabilities() const { return __p_.probabilities(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI vector<double> probabilities() const { return __p_.probabilities(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return __p_.__p_.size(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return __p_.__p_.size(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const discrete_distribution& __x, const discrete_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/exponential_distribution.h b/libcxx/include/__random/exponential_distribution.h
index a5ce6ce332f9f..17f566ec6a2f8 100644
--- a/libcxx/include/__random/exponential_distribution.h
+++ b/libcxx/include/__random/exponential_distribution.h
@@ -43,7 +43,7 @@ class exponential_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __lambda = 1) : __lambda_(__lambda) {}
- _LIBCPP_HIDE_FROM_ABI result_type lambda() const { return __lambda_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type lambda() const { return __lambda_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__lambda_ == __y.__lambda_;
@@ -67,20 +67,20 @@ class exponential_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type lambda() const { return __p_.lambda(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type lambda() const { return __p_.lambda(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool
operator==(const exponential_distribution& __x, const exponential_distribution& __y) {
diff --git a/libcxx/include/__random/extreme_value_distribution.h b/libcxx/include/__random/extreme_value_distribution.h
index 26d4bc67c2b60..e59079b7d6c22 100644
--- a/libcxx/include/__random/extreme_value_distribution.h
+++ b/libcxx/include/__random/extreme_value_distribution.h
@@ -43,8 +43,8 @@ class extreme_value_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __a = 0, result_type __b = 1) : __a_(__a), __b_(__b) {}
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;
@@ -70,21 +70,21 @@ class extreme_value_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool
operator==(const extreme_value_distribution& __x, const extreme_value_distribution& __y) {
diff --git a/libcxx/include/__random/fisher_f_distribution.h b/libcxx/include/__random/fisher_f_distribution.h
index 84362fd0b4414..f36817dea5030 100644
--- a/libcxx/include/__random/fisher_f_distribution.h
+++ b/libcxx/include/__random/fisher_f_distribution.h
@@ -42,8 +42,8 @@ class fisher_f_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __m = 1, result_type __n = 1) : __m_(__m), __n_(__n) {}
- _LIBCPP_HIDE_FROM_ABI result_type m() const { return __m_; }
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type m() const { return __m_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__m_ == __y.__m_ && __x.__n_ == __y.__n_;
@@ -69,21 +69,21 @@ class fisher_f_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type m() const { return __p_.m(); }
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type m() const { return __p_.m(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const fisher_f_distribution& __x, const fisher_f_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/gamma_distribution.h b/libcxx/include/__random/gamma_distribution.h
index 10a6cb8a8eb2c..aa418fd66702e 100644
--- a/libcxx/include/__random/gamma_distribution.h
+++ b/libcxx/include/__random/gamma_distribution.h
@@ -45,8 +45,8 @@ class gamma_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __alpha = 1, result_type __beta = 1)
: __alpha_(__alpha), __beta_(__beta) {}
- _LIBCPP_HIDE_FROM_ABI result_type alpha() const { return __alpha_; }
- _LIBCPP_HIDE_...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/204970
More information about the libcxx-commits
mailing list