Compile [2024-11-14 07:59:09 UTC]: fail
"g++-6" -fvisibility-inlines-hidden -std=gnu++11 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -Wno-missing-braces -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_RANDOM_DYN_LINK=1 -DBOOST_RANDOM_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_LIB=1 -I".." -I"../libs/math/include_private" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/container/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/integer/include" -I"/var/boost/run/boost_root/libs/intrusive/include" -I"/var/boost/run/boost_root/libs/lexical_cast/include" -I"/var/boost/run/boost_root/libs/math/include" -I"/var/boost/run/boost_root/libs/move/include" -I"/var/boost/run/boost_root/libs/mp11/include" -I"/var/boost/run/boost_root/libs/predef/include" -I"/var/boost/run/boost_root/libs/random/include" -I"/var/boost/run/boost_root/libs/system/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/type_traits/include" -I"/var/boost/run/boost_root/libs/variant2/include" -I"/var/boost/run/boost_root/libs/winapi/include" -c -o "/var/boost/run/results/boost/bin.v2/libs/math/example/lambert_w_precision_example.test/gcc-6~gnu11/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/lambert_w_precision_example.o" "../libs/math/example/lambert_w_precision_example.cpp"
In file included from ../boost/math/constants/constants.hpp:11:0,
from ../libs/math/example/lambert_w_precision_example.cpp:13:
../boost/math/tools/config.hpp:28:6: warning: #warning "Boost.Math requires C++14" [-Wcpp]
# warning "Boost.Math requires C++14"
^~~~~~~
In file included from ../boost/multiprecision/float128.hpp:23:0,
from ../libs/math/example/lambert_w_precision_example.cpp:20:
../boost/multiprecision/detail/standalone_config.hpp:36:7: warning: #warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)" [-Wcpp]
# warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)"
^~~~~~~
In file included from ../boost/math/tools/mp.hpp:15:0,
from ../boost/math/policies/policy.hpp:11,
from ../boost/math/constants/constants.hpp:16,
from ../libs/math/example/lambert_w_precision_example.cpp:13:
../boost/math/tools/type_traits.hpp:208:12: error: 'std::is_final' has not been declared
using std::is_final;
^~~~~~~~
../boost/math/tools/type_traits.hpp:259:12: error: 'std::remove_cv_t' has not been declared
using std::remove_cv_t;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:261:12: error: 'std::remove_const_t' has not been declared
using std::remove_const_t;
^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:263:12: error: 'std::remove_volatile_t' has not been declared
using std::remove_volatile_t;
^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:265:12: error: 'std::add_cv_t' has not been declared
using std::add_cv_t;
^~~~~~~~
../boost/math/tools/type_traits.hpp:267:12: error: 'std::add_const_t' has not been declared
using std::add_const_t;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:269:12: error: 'std::add_volatile_t' has not been declared
using std::add_volatile_t;
^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:273:12: error: 'std::remove_reference_t' has not been declared
using std::remove_reference_t;
^~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:275:12: error: 'std::add_lvalue_reference_t' has not been declared
using std::add_lvalue_reference_t;
^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:277:12: error: 'std::add_rvalue_reference_t' has not been declared
using std::add_rvalue_reference_t;
^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:281:12: error: 'std::remove_pointer_t' has not been declared
using std::remove_pointer_t;
^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:283:12: error: 'std::add_pointer_t' has not been declared
using std::add_pointer_t;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:287:12: error: 'std::make_signed_t' has not been declared
using std::make_signed_t;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:289:12: error: 'std::make_unsigned_t' has not been declared
using std::make_unsigned_t;
^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:293:12: error: 'std::remove_extent_t' has not been declared
using std::remove_extent_t;
^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:295:12: error: 'std::remove_all_extents_t' has not been declared
using std::remove_all_extents_t;
^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:299:12: error: 'std::decay_t' has not been declared
using std::decay_t;
^~~~~~~
../boost/math/tools/type_traits.hpp:301:12: error: 'std::enable_if_t' has not been declared
using std::enable_if_t;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:303:12: error: 'std::conditional_t' has not been declared
using std::conditional_t;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:305:12: error: 'std::common_type_t' has not been declared
using std::common_type_t;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:307:12: error: 'std::underlying_type_t' has not been declared
using std::underlying_type_t;
^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:315:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_void_v = boost::math::is_void<T>::value;
^~~~~~~~~
../boost/math/tools/type_traits.hpp:318:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_null_pointer_v = boost::math::is_null_pointer<T>::value;
^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:321:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_integral_v = boost::math::is_integral<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:324:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_floating_point_v = boost::math::is_floating_point<T>::value;
^~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:327:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_array_v = boost::math::is_array<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:330:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_enum_v = boost::math::is_enum<T>::value;
^~~~~~~~~
../boost/math/tools/type_traits.hpp:333:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_union_v = boost::math::is_union<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:336:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_class_v = boost::math::is_class<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:339:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_function_v = boost::math::is_function<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:342:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_pointer_v = boost::math::is_pointer<T>::value;
^~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:345:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_lvalue_reference_v = boost::math::is_lvalue_reference<T>::value;
^~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:348:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_rvalue_reference_v = boost::math::is_rvalue_reference<T>::value;
^~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:351:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_member_object_pointer_v = boost::math::is_member_object_pointer<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:354:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_member_function_pointer_v = boost::math::is_member_function_pointer<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:357:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_fundamental_v = boost::math::is_fundamental<T>::value;
^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:360:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_arithmetic_v = boost::math::is_arithmetic<T>::value;
^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:363:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_scalar_v = boost::math::is_scalar<T>::value;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:366:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_object_v = boost::math::is_object<T>::value;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:369:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_compound_v = boost::math::is_compound<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:372:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_reference_v = boost::math::is_reference<T>::value;
^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:375:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_member_pointer_v = boost::math::is_member_pointer<T>::value;
^~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:378:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_const_v = boost::math::is_const<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:381:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_volatile_v = boost::math::is_volatile<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:384:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivial_v = boost::math::is_trivial<T>::value;
^~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:387:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copyable_v = boost::math::is_trivially_copyable<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:390:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_standard_layout_v = boost::math::is_standard_layout<T>::value;
^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:393:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_empty_v = boost::math::is_empty<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:396:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_polymorphic_v = boost::math::is_polymorphic<T>::value;
^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:399:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_abstract_v = boost::math::is_abstract<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:402:47: error: 'is_final' is not a member of 'boost::math'
BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
^~~~~
../boost/math/tools/type_traits.hpp:402:70: error: expected primary-expression before '>' token
BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
^
../boost/math/tools/type_traits.hpp:402:71: error: '::value' has not been declared
BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
^~
../boost/math/tools/type_traits.hpp:402:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
^~~~~~~~~~
../boost/math/tools/type_traits.hpp:405:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_signed_v = boost::math::is_signed<T>::value;
^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:408:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_unsigned_v = boost::math::is_unsigned<T>::value;
^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:411:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_constructible_v = boost::math::is_constructible<T, Args...>::value;
^~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:414:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_constructible_v = boost::math::is_trivially_constructible<T, Args...>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:417:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_constructible_v = boost::math::is_nothrow_constructible<T, Args...>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:420:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_default_constructible_v = boost::math::is_default_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:423:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_default_constructible_v = boost::math::is_trivially_default_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../boost/math/tools/mp.hpp:15:0,
from ../boost/math/policies/policy.hpp:11,
from ../boost/math/constants/constants.hpp:16,
from ../libs/math/example/lambert_w_precision_example.cpp:13:
../boost/math/tools/type_traits.hpp:426:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_default_constructible_v = boost::math::is_nothrow_default_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:429:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_copy_constructible_v = boost::math::is_copy_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:432:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copy_constructible_v = boost::math::is_trivially_copy_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:435:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_copy_constructible_v = boost::math::is_nothrow_copy_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:438:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_move_constructible_v = boost::math::is_move_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:441:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_move_constructible_v = boost::math::is_trivially_move_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:444:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_move_constructible_v = boost::math::is_nothrow_move_constructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:447:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_assignable_v = boost::math::is_assignable<T, U>::value;
^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:450:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_assignable_v = boost::math::is_trivially_assignable<T, U>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:453:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_assignable_v = boost::math::is_nothrow_assignable<T, U>::value;
^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:456:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_copy_assignable_v = boost::math::is_copy_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:459:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copy_assignable_v = boost::math::is_trivially_copy_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:462:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_copy_assignable_v = boost::math::is_nothrow_copy_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:465:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_move_assignable_v = boost::math::is_move_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:468:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_move_assignable_v = boost::math::is_trivially_move_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:471:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_move_assignable_v = boost::math::is_nothrow_move_assignable<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:474:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_destructible_v = boost::math::is_destructible<T>::value;
^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:477:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_destructible_v = boost::math::is_trivially_destructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:480:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_destructible_v = boost::math::is_nothrow_destructible<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:483:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool has_virtual_destructor_v = boost::math::has_virtual_destructor<T>::value;
^~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:486:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_same_v = boost::math::is_same<T, U>::value;
^~~~~~~~~
../boost/math/tools/type_traits.hpp:489:34: warning: variable templates only available with -std=c++14 or -std=gnu++14
BOOST_MATH_INLINE_CONSTEXPR bool is_base_of_v = boost::math::is_base_of<T, U>::value;
^~~~~~~~~~~~
In file included from ../boost/math/special_functions/math_fwd.hpp:28:0,
from ../boost/math/special_functions/next.hpp:18,
from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/tools/promotion.hpp:90:36: error: 'common_type_t' in namespace 'boost::math' does not name a template type
using type = boost::math::common_type_t<T1, T2, float>;
^~~~~~~~~~~~~
In file included from ../boost/math/special_functions/next.hpp:22:0,
from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/special_functions/trunc.hpp:324:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<int, T>, int>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:331:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<int, T>, int>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:339:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long, T>, long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:346:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<long, T>, long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:354:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:361:53: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:361:64: error: expected unqualified-id before '<' token
BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
^
../boost/math/special_functions/trunc.hpp:369:76: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:376:85: error: 'enable_if_t' in namespace 'boost::math' does not name a template type
BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
^~~~~~~~~~~
../boost/math/special_functions/trunc.hpp:376:96: error: expected unqualified-id before '<' token
BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
^
In file included from ../boost/math/special_functions/detail/polygamma.hpp:24:0,
from ../boost/math/special_functions/polygamma.hpp:15,
from ../boost/math/special_functions/gamma.hpp:42,
from ../boost/multiprecision/cpp_dec_float.hpp:57,
from ../libs/math/example/lambert_w_precision_example.cpp:25:
../boost/math/special_functions/pow.hpp:126:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T, const Policy&)' differs in 'constexpr'
BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base, const Policy& policy)
^~~
In file included from ../boost/math/special_functions/next.hpp:18:0,
from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/special_functions/math_fwd.hpp:1173:79: error: from previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T, const Policy&)'
BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base, const Policy& policy);
^~~
In file included from ../boost/math/special_functions/detail/polygamma.hpp:24:0,
from ../boost/math/special_functions/polygamma.hpp:15,
from ../boost/math/special_functions/gamma.hpp:42,
from ../boost/multiprecision/cpp_dec_float.hpp:57,
from ../libs/math/example/lambert_w_precision_example.cpp:25:
../boost/math/special_functions/pow.hpp:133:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T)' differs in 'constexpr'
BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base)
^~~
In file included from ../boost/math/special_functions/next.hpp:18:0,
from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/special_functions/math_fwd.hpp:1176:79: error: from previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T)'
BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base);
^~~
In file included from ../boost/math/special_functions/math_fwd.hpp:28:0,
from ../boost/math/special_functions/next.hpp:18,
from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/tools/promotion.hpp: In instantiation of 'struct boost::math::tools::promote_args_permissive<double, double>':
../boost/math/tools/promotion.hpp:119:70: required from 'struct boost::math::tools::promote_args<double, double>'
../boost/math/tools/promotion.hpp:129:66: required by substitution of 'template<class ... Args> using promote_args_t = typename boost::math::tools::promote_args::type [with Args = {double, double}]'
../boost/math/special_functions/next.hpp:737:42: required by substitution of 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&) [with T = double; U = double]'
../libs/math/example/lambert_w_precision_example.cpp:85:83: required from here
../boost/math/tools/promotion.hpp:108:23: error: no type named 'type' in 'struct boost::math::tools::pa2_integral_already_removed<double, double, true>'
>::type;
^
../libs/math/example/lambert_w_precision_example.cpp: In function 'int main()':
../libs/math/example/lambert_w_precision_example.cpp:85:83: error: no matching function for call to 'float_distance(double, double)'
<< static_cast<int>(float_distance(static_cast<double>(r), 1.7455280027406994))
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:703:49: note: candidate: template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)
inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:85:83: note: candidate expects 3 arguments, 2 provided
<< static_cast<int>(float_distance(static_cast<double>(r), 1.7455280027406994))
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:737:42: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)
typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: substitution of deduced template arguments resulted in errors seen above
../libs/math/example/lambert_w_precision_example.cpp:131:88: error: no matching function for call to 'relative_difference(double&, double&)'
std::cout << "relative difference from Halley step = " << relative_difference(w, ww) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:16:0:
../boost/math/special_functions/relative_difference.hpp:17:60: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::relative_difference(const T&, const U&)
typename boost::math::tools::promote_args<T,U>::type relative_difference(const T& arg_a, const U& arg_b)
^~~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:17:60: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:132:87: error: no matching function for call to 'epsilon_difference(double&, double&)'
std::cout << "epsilon difference from Halley step = " << epsilon_difference(w, ww) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:16:0:
../boost/math/special_functions/relative_difference.hpp:123:68: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::epsilon_difference(const T&, const U&)
inline typename boost::math::tools::promote_args<T, U>::type epsilon_difference(const T& arg_a, const U& arg_b)
^~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:134:100: error: no matching function for call to 'float_distance(double&, double&)'
std::cout << "bits different from Halley step = " << static_cast<int>(float_distance(w, ww)) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:703:49: note: candidate: template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)
inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:134:100: note: candidate expects 3 arguments, 2 provided
std::cout << "bits different from Halley step = " << static_cast<int>(float_distance(w, ww)) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:737:42: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)
typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:182:88: error: no matching function for call to 'relative_difference(double&, double&)'
std::cout << "relative difference from Halley step = " << relative_difference(w, ww) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:16:0:
../boost/math/special_functions/relative_difference.hpp:17:60: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::relative_difference(const T&, const U&)
typename boost::math::tools::promote_args<T,U>::type relative_difference(const T& arg_a, const U& arg_b)
^~~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:17:60: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:183:87: error: no matching function for call to 'epsilon_difference(double&, double&)'
std::cout << "epsilon difference from Halley step = " << epsilon_difference(w, ww) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:16:0:
../boost/math/special_functions/relative_difference.hpp:123:68: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::epsilon_difference(const T&, const U&)
inline typename boost::math::tools::promote_args<T, U>::type epsilon_difference(const T& arg_a, const U& arg_b)
^~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:185:100: error: no matching function for call to 'float_distance(double&, double&)'
std::cout << "bits different from Halley step = " << static_cast<int>(float_distance(w, ww)) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:703:49: note: candidate: template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)
inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note: template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:185:100: note: candidate expects 3 arguments, 2 provided
std::cout << "bits different from Halley step = " << static_cast<int>(float_distance(w, ww)) << std::endl;
^
In file included from ../libs/math/example/lambert_w_precision_example.cpp:15:0:
../boost/math/special_functions/next.hpp:737:42: note: candidate: template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)
typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: template argument deduction/substitution failed:
In file included from ../libs/math/example/lambert_w_precision_example.cpp:29:0:
../boost/multiprecision/cpp_bin_float.hpp: In instantiation of 'typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits <= Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::assign_float(Float) [with Float = __float128; unsigned int Digits = 113u; boost::multiprecision::backends::digit_base_type DigitBase = (boost::multiprecision::backends::digit_base_type)10u; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits <= Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type = boost::multiprecision::backends::cpp_bin_float<113u, (boost::multiprecision::backends::digit_base_type)10u, void, int, 0, 0>&]':
../boost/multiprecision/cpp_bin_float.hpp:180:7: required from 'boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::cpp_bin_float(const Float&, const typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::bit_count) >= 113))>::type*) [with Float = __float128; unsigned int Digits = 113u; boost::multiprecision::backends::digit_base_type DigitBase = (boost::multiprecision::backends::digit_base_type)10u; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::bit_count) >= 113))>::type = void]'
../boost/multiprecision/cpp_bin_float.hpp:308:88: required from 'typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits > Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::assign_float(Float) [with Float = __float128; unsigned int Digits = 50u; boost::multiprecision::backends::digit_base_type DigitBase = (boost::multiprecision::backends::digit_base_type)10u; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits > Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type = boost::multiprecision::backends::cpp_bin_float<50u>&]'
../boost/multiprecision/cpp_bin_float.hpp:180:7: required from 'boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::cpp_bin_float(const Float&, const typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::bit_count) >= 113))>::type*) [with Float = __float128; unsigned int Digits = 50u; boost::multiprecision::backends::digit_base_type DigitBase = (boost::multiprecision::backends::digit_base_type)10u; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::bit_count) >= 113))>::type = void]'
../boost/multiprecision/number.hpp:72:38: required from 'constexpr boost::multiprecision::number<Backend, ExpressionTemplates>::number(const V&, typename std::enable_if<(std::is_convertible<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value && (! boost::multiprecision::detail::is_restricted_conversion<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value))>::type*) [with V = __float128; Backend = boost::multiprecision::backends::cpp_bin_float<50u>; boost::multiprecision::expression_template_option ExpressionTemplates = (boost::multiprecision::expression_template_option)0u; typename std::enable_if<(std::is_convertible<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value && (! boost::multiprecision::detail::is_restricted_conversion<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value))>::type = void]'
../boost/math/tools/big_constant.hpp:59:11: required from 'constexpr T boost::math::tools::make_big_value(boost::math::tools::largest_float, const char*, const true_type&, const true_type&) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50u> >; boost::math::tools::largest_float = __float128; std::true_type = std::integral_constant<bool, true>]'
../boost/math/special_functions/lambert_w.hpp:321:5: required from 'T boost::math::lambert_w_detail::lambert_w_singularity_series(T) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50u> >]'
../boost/math/special_functions/lambert_w.hpp:1728:59: required from 'T boost::math::lambert_w_detail::lambert_w0_imp(T, const Policy&, const std::integral_constant<int, 0>&) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50u> >; Policy = boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy>]'
../boost/math/special_functions/lambert_w.hpp:2103:44: required from 'boost::math::tools::promote_args_t<RT> boost::math::lambert_w0(T) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50u> >; boost::math::tools::promote_args_t<RT> = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50u> >]'
../libs/math/example/lambert_w_precision_example.cpp:75:21: required from here
../boost/multiprecision/cpp_bin_float.hpp:349:66: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
constexpr std::ptrdiff_t bits = sizeof(int) * CHAR_BIT - 1 < MaxExponent - 1 ? sizeof(int) * CHAR_BIT - 1 : 3;
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~