gcc/libstdc++-v3/testsuite
Jonathan Wakely 9017326e19 libstdc++: Add additional overload of std::lerp [PR101870]
The [cmath.syn] p1 wording about additional overloads sufficient to
handle any arithmetic types also applies to std::lerp. This adds a new
overload of std::lerp that does the required promotions to support
arguments of arbitrary arithmetic types.

A new __promoted_t alias template is added, which the C++17 function
templates std::hypot and std::lerp can use to avoid instantiating the
__promote_3 class template.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	PR libstdc++/101870
	* include/c_global/cmath (hypot): Use __promoted_t.
	(lerp): Add new overload accepting any arithmetic types.
	* include/ext/type_traits.h (__promoted_t): New alias template.
	* testsuite/26_numerics/lerp.cc: Moved to...
	* testsuite/26_numerics/lerp/1.cc: ...here.
	* testsuite/26_numerics/lerp/constexpr.cc: New test.
	* testsuite/26_numerics/lerp/version.cc: New test.
2021-08-12 19:46:16 +01:00
..
17_intro libstdc++: Fix backwards logic in 17_intro/names.cc test [PR 97088] 2021-06-28 15:15:16 +01:00
18_support libstdc++: Add [[nodiscard]] to <compare> 2021-08-05 15:16:58 +01:00
19_diagnostics libstdc++: Remove redundant -std=gnu++17 option from remaining tests 2021-05-10 16:22:54 +01:00
20_util libstdc++: Define std::is_pointer_interconvertible_base_of for C++20 2021-08-11 16:53:22 +01:00
21_strings libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
22_locale libstdc++: Fix new test for C++98 mode [PR 89728] 2021-06-01 19:02:42 +01:00
23_containers libstdc++: Define std::is_pointer_interconvertible_base_of for C++20 2021-08-11 16:53:22 +01:00
24_iterators libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
25_algorithms libstdc++: Fix dg-prune-output assertion message 2021-08-08 19:12:22 +02:00
26_numerics libstdc++: Add additional overload of std::lerp [PR101870] 2021-08-12 19:46:16 +01:00
27_io libstdc++: Use secure_getenv for filesystem::temp_directory_path() [PR65018] 2021-07-30 18:12:39 +01:00
28_regex libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
29_atomics libstdc++: Replace TR1 components with C++11 ones in test utils 2021-08-03 15:40:42 +01:00
30_threads libstdc++: Avoid "__lockable" name defined as macro by newlib 2021-06-23 11:05:51 +01:00
abi Update copyright years. 2021-01-04 10:26:59 +01:00
backward Update copyright years. 2021-01-04 10:26:59 +01:00
config Update copyright years. 2021-01-04 10:26:59 +01:00
data
decimal Update copyright years. 2021-01-04 10:26:59 +01:00
experimental libstdc++: Fix test that fails randomly [PR101866] 2021-08-11 23:39:34 +01:00
ext libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
lib libstdc++: Add testsuite proc for testing deprecated features 2021-08-03 15:30:17 +01:00
libstdc++-abi Update copyright years. 2021-01-04 10:26:59 +01:00
libstdc++-dg libstdc++: Add std::experimental::simd from the Parallelism TS 2 2021-01-27 16:37:26 +00:00
libstdc++-prettyprinters libstdc++: Remove redundant -std=gnu++17 option from remaining tests 2021-05-10 16:22:54 +01:00
libstdc++-xmethods Update copyright years. 2021-01-04 10:26:59 +01:00
performance Update copyright years. 2021-01-04 10:26:59 +01:00
special_functions Update copyright years. 2021-01-04 10:26:59 +01:00
std libstdc++: Tweak timeout for testsuite/std/ranges/iota/max_size_type.cc 2021-08-08 10:52:50 +02:00
tr1 libstdc++: Fix some tests that fail in C++20 mode 2021-04-12 12:30:07 +01:00
tr2 Update copyright years. 2021-01-04 10:26:59 +01:00
util libstdc++: Replace TR1 components with C++11 ones in test utils 2021-08-03 15:40:42 +01:00
Makefile.am libstdc++: Remove -fno-tree-vrp after PR98834 was resolved 2021-06-23 18:28:59 +01:00
Makefile.in libstdc++: Remove -fno-tree-vrp after PR98834 was resolved 2021-06-23 18:28:59 +01:00