diff options
author | Mark de Wever <koraq@xs4all.nl> | 2023-05-07 19:50:41 +0200 |
---|---|---|
committer | Mark de Wever <koraq@xs4all.nl> | 2023-05-15 20:27:45 +0200 |
commit | 91d7b96b777a52f37405b40a37d142c8980481af (patch) | |
tree | 71abc18d66359ba27a894a87fa1979e76e3222c5 /libcxx | |
parent | 38423349ce84c80a825477cc997fd071e248b2e0 (diff) | |
download | llvm-91d7b96b777a52f37405b40a37d142c8980481af.tar.gz |
[libc++] Removes _LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION
This was planned for LLVM 15 but was never done.
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D150580
Diffstat (limited to 'libcxx')
-rw-r--r-- | libcxx/docs/ReleaseNotes.rst | 2 | ||||
-rw-r--r-- | libcxx/include/__random/lognormal_distribution.h | 138 |
2 files changed, 2 insertions, 138 deletions
diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst index 16143c1c2edf..6e6cdc25ce63 100644 --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -95,6 +95,8 @@ Deprecations and Removals which led to ODR violations when mixed with the C++03 definition. Cleaning this up is required for libc++ to make progress on support for C++20 modules. +- The ``_LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION`` macro has been removed. + Upcoming Deprecations and Removals ---------------------------------- diff --git a/libcxx/include/__random/lognormal_distribution.h b/libcxx/include/__random/lognormal_distribution.h index 048d7dade9eb..1e8ac39dbac0 100644 --- a/libcxx/include/__random/lognormal_distribution.h +++ b/libcxx/include/__random/lognormal_distribution.h @@ -24,142 +24,6 @@ _LIBCPP_PUSH_MACROS _LIBCPP_BEGIN_NAMESPACE_STD -#ifdef _LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION - -template<class _RealType = double> -class _LIBCPP_TEMPLATE_VIS lognormal_distribution -{ -public: - // types - typedef _RealType result_type; - - class _LIBCPP_TEMPLATE_VIS param_type - { - normal_distribution<result_type> __nd_; - public: - typedef lognormal_distribution distribution_type; - - _LIBCPP_INLINE_VISIBILITY - explicit param_type(result_type __m = 0, result_type __s = 1) - : __nd_(__m, __s) {} - - _LIBCPP_INLINE_VISIBILITY - result_type m() const {return __nd_.mean();} - _LIBCPP_INLINE_VISIBILITY - result_type s() const {return __nd_.stddev();} - - friend _LIBCPP_INLINE_VISIBILITY - bool operator==(const param_type& __x, const param_type& __y) - {return __x.__nd_ == __y.__nd_;} - friend _LIBCPP_INLINE_VISIBILITY - bool operator!=(const param_type& __x, const param_type& __y) - {return !(__x == __y);} - friend class lognormal_distribution; - - template <class _CharT, class _Traits, class _RT> - friend - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, - const lognormal_distribution<_RT>& __x); - - template <class _CharT, class _Traits, class _RT> - friend - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __is, - lognormal_distribution<_RT>& __x); - }; - -private: - param_type __p_; - -public: - // constructor and reset functions -#ifndef _LIBCPP_CXX03_LANG - _LIBCPP_INLINE_VISIBILITY - lognormal_distribution() : lognormal_distribution(0) {} - _LIBCPP_INLINE_VISIBILITY - explicit lognormal_distribution(result_type __m, result_type __s = 1) - : __p_(param_type(__m, __s)) {} -#else - _LIBCPP_INLINE_VISIBILITY - explicit lognormal_distribution(result_type __m = 0, - result_type __s = 1) - : __p_(param_type(__m, __s)) {} -#endif - _LIBCPP_INLINE_VISIBILITY - explicit lognormal_distribution(const param_type& __p) - : __p_(__p) {} - _LIBCPP_INLINE_VISIBILITY - void reset() {__p_.__nd_.reset();} - - // generating functions - template<class _URNG> - _LIBCPP_INLINE_VISIBILITY - result_type operator()(_URNG& __g) - {return (*this)(__g, __p_);} - template<class _URNG> - _LIBCPP_INLINE_VISIBILITY - result_type operator()(_URNG& __g, const param_type& __p) - {return _VSTD::exp(const_cast<normal_distribution<result_type>&>(__p.__nd_)(__g));} - - // property functions - _LIBCPP_INLINE_VISIBILITY - result_type m() const {return __p_.m();} - _LIBCPP_INLINE_VISIBILITY - result_type s() const {return __p_.s();} - - _LIBCPP_INLINE_VISIBILITY - param_type param() const {return __p_;} - _LIBCPP_INLINE_VISIBILITY - void param(const param_type& __p) {__p_ = __p;} - - _LIBCPP_INLINE_VISIBILITY - result_type min() const {return 0;} - _LIBCPP_INLINE_VISIBILITY - result_type max() const {return numeric_limits<result_type>::infinity();} - - friend _LIBCPP_INLINE_VISIBILITY - bool operator==(const lognormal_distribution& __x, - const lognormal_distribution& __y) - {return __x.__p_ == __y.__p_;} - friend _LIBCPP_INLINE_VISIBILITY - bool operator!=(const lognormal_distribution& __x, - const lognormal_distribution& __y) - {return !(__x == __y);} - - template <class _CharT, class _Traits, class _RT> - friend - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, - const lognormal_distribution<_RT>& __x); - - template <class _CharT, class _Traits, class _RT> - friend - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __is, - lognormal_distribution<_RT>& __x); -}; - -template <class _CharT, class _Traits, class _RT> -inline _LIBCPP_INLINE_VISIBILITY -basic_ostream<_CharT, _Traits>& -operator<<(basic_ostream<_CharT, _Traits>& __os, - const lognormal_distribution<_RT>& __x) -{ - return __os << __x.__p_.__nd_; -} - -template <class _CharT, class _Traits, class _RT> -inline _LIBCPP_INLINE_VISIBILITY -basic_istream<_CharT, _Traits>& -operator>>(basic_istream<_CharT, _Traits>& __is, - lognormal_distribution<_RT>& __x) -{ - return __is >> __x.__p_.__nd_; -} - -#else // _LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION - template<class _RealType = double> class _LIBCPP_TEMPLATE_VIS lognormal_distribution { @@ -290,8 +154,6 @@ operator>>(basic_istream<_CharT, _Traits>& __is, return __is >> __x.__nd_; } -#endif // _LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION - _LIBCPP_END_NAMESPACE_STD _LIBCPP_POP_MACROS |