[libcxx-commits] [libcxx] add floating point type check for uniform real distrubtion (PR #70564)
Nhat Nguyen via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Oct 29 14:53:32 PDT 2023
https://github.com/NhatNguyen1810 updated https://github.com/llvm/llvm-project/pull/70564
>From 3473e1e90a9b04c079d405123fcd9e35700ca5a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CNhat?= <“nhat7203 at gmail.com”>
Date: Sat, 28 Oct 2023 14:30:43 -0400
Subject: [PATCH] add floating point type check for uniform real distrubtion
---
libcxx/include/__random/uniform_real_distribution.h | 3 +++
libcxx/test/libcxx/transitive_includes/cxx23.csv | 1 +
libcxx/test/libcxx/transitive_includes/cxx26.csv | 1 +
3 files changed, 5 insertions(+)
diff --git a/libcxx/include/__random/uniform_real_distribution.h b/libcxx/include/__random/uniform_real_distribution.h
index 1388cef95f39414..89b95f5a5bfe9d7 100644
--- a/libcxx/include/__random/uniform_real_distribution.h
+++ b/libcxx/include/__random/uniform_real_distribution.h
@@ -14,6 +14,7 @@
#include <__random/is_valid.h>
#include <iosfwd>
#include <limits>
+#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -27,6 +28,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template<class _RealType = double>
class _LIBCPP_TEMPLATE_VIS uniform_real_distribution
{
+ static_assert(std::is_floating_point<_RealType>::value, "result_type must be of floating type");
+
public:
// types
typedef _RealType result_type;
diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv
index 236dedd186c9268..1035cb418822de8 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx23.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv
@@ -495,6 +495,7 @@ random iosfwd
random limits
random numeric
random string
+random type_traits
random vector
random version
ranges compare
diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv
index 236dedd186c9268..1035cb418822de8 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx26.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv
@@ -495,6 +495,7 @@ random iosfwd
random limits
random numeric
random string
+random type_traits
random vector
random version
ranges compare
More information about the libcxx-commits
mailing list