[libcxx-commits] [libcxx] 91d7b96 - [libc++] Removes _LIBCPP_ABI_OLD_LOGNORMAL_DISTRIBUTION
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Mon May 15 11:27:51 PDT 2023
Author: Mark de Wever
Date: 2023-05-15T20:27:45+02:00
New Revision: 91d7b96b777a52f37405b40a37d142c8980481af
URL: https://github.com/llvm/llvm-project/commit/91d7b96b777a52f37405b40a37d142c8980481af
DIFF: https://github.com/llvm/llvm-project/commit/91d7b96b777a52f37405b40a37d142c8980481af.diff
LOG: [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
Added:
Modified:
libcxx/docs/ReleaseNotes.rst
libcxx/include/__random/lognormal_distribution.h
Removed:
################################################################################
diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
index 16143c1c2edf7..6e6cdc25ce634 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 048d7dade9eba..1e8ac39dbac03 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
More information about the libcxx-commits
mailing list