*/
template <typename T, typename U>
inline std::enable_if_t<
- std::is_floating_point<T>::value && std::is_floating_point<U>::value,
+ std::is_floating_point_v<T> && std::is_floating_point_v<U>,
typename ProductType<std::complex<T>, std::complex<U>>::type>
operator*(const std::complex<T> &left, const std::complex<U> &right)
{
*/
template <typename T, typename U>
inline std::enable_if_t<
- std::is_floating_point<T>::value && std::is_floating_point<U>::value,
+ std::is_floating_point_v<T> && std::is_floating_point_v<U>,
typename ProductType<std::complex<T>, std::complex<U>>::type>
operator/(const std::complex<T> &left, const std::complex<U> &right)
{
* @relatesalso ProductType
*/
template <typename T, typename U>
-inline std::enable_if_t<std::is_floating_point<T>::value &&
- std::is_floating_point<U>::value,
+inline std::enable_if_t<std::is_floating_point_v<T> &&
+ std::is_floating_point_v<U>,
typename ProductType<std::complex<T>, U>::type>
operator*(const std::complex<T> &left, const U &right)
{
* @relatesalso ProductType
*/
template <typename T, typename U>
-inline std::enable_if_t<std::is_floating_point<T>::value &&
- std::is_floating_point<U>::value,
+inline std::enable_if_t<std::is_floating_point_v<T> &&
+ std::is_floating_point_v<U>,
typename ProductType<std::complex<T>, U>::type>
operator/(const std::complex<T> &left, const U &right)
{
* @relatesalso ProductType
*/
template <typename T, typename U>
-inline std::enable_if_t<std::is_floating_point<T>::value &&
- std::is_floating_point<U>::value,
+inline std::enable_if_t<std::is_floating_point_v<T> &&
+ std::is_floating_point_v<U>,
typename ProductType<T, std::complex<U>>::type>
operator*(const T &left, const std::complex<U> &right)
{
* @relatesalso ProductType
*/
template <typename T, typename U>
-inline std::enable_if_t<std::is_floating_point<T>::value &&
- std::is_floating_point<U>::value,
+inline std::enable_if_t<std::is_floating_point_v<T> &&
+ std::is_floating_point_v<U>,
typename ProductType<T, std::complex<U>>::type>
operator/(const T &left, const std::complex<U> &right)
{
(void)std::declval<typename ADNumberTrait::derivative_type>(),
void())>
: std::conditional<
- std::is_floating_point<typename ADNumberTrait::real_type>::value,
+ std::is_floating_point_v<typename ADNumberTrait::real_type>,
std::false_type,
std::true_type>::type
{};
struct ADNumberInfoFromEnum<
ScalarType,
Differentiation::AD::NumberTypes::none,
- std::enable_if_t<std::is_floating_point<ScalarType>::value>>
+ std::enable_if_t<std::is_floating_point_v<ScalarType>>>
{
static const bool is_taped = false;
using real_type = ScalarType;
* mechanism can be employed (e.g. Sacado types).
*/
template <typename ScalarType>
- struct Marking<
- ScalarType,
- std::enable_if_t<std::is_floating_point<ScalarType>::value>>
+ struct Marking<ScalarType,
+ std::enable_if_t<std::is_floating_point_v<ScalarType>>>
{
/**
* Initialize the state of an independent variable.
* mechanism can be employed (e.g. Sacado types).
*/
template <typename NumberType>
- struct ExtractData<
- NumberType,
- std::enable_if_t<std::is_floating_point<NumberType>::value>>
+ struct ExtractData<NumberType,
+ std::enable_if_t<std::is_floating_point_v<NumberType>>>
{
/**
* Extract the floating point value.
static T
value(const F &f,
std::enable_if_t<is_ad_number<F>::value &&
- std::is_floating_point<T>::value> * = nullptr)
+ std::is_floating_point_v<T>> * = nullptr)
{
// We recursively call this function in case the AD number is a
// nested one. The recursion ends when the extracted value is
static std::complex<T>
value(const F &f,
std::enable_if_t<is_ad_number<F>::value &&
- std::is_floating_point<T>::value> * = nullptr)
+ std::is_floating_point_v<T>> * = nullptr)
{
// We recursively call this function in case the AD number is a
// nested one. The recursion ends when the extracted value is
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<
typename internal::RemoveComplexWrapper<ScalarType>::type>::value)>>
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_taped =
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_tapeless =
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_real_valued =
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_complex_valued =
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::n_supported_derivative_levels =
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_taped;
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_tapeless;
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_real_valued;
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_complex_valued;
ScalarType,
ADNumberTypeCode,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::n_supported_derivative_levels;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<
typename internal::RemoveComplexWrapper<ScalarType>::type>::value)>>
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_taped = false;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_tapeless = false;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_real_valued =
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_complex_valued =
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::n_supported_derivative_levels = 0;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_taped;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_tapeless;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_real_valued;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::is_complex_valued;
ScalarType,
NumberTypes::none,
std::enable_if_t<
- std::is_floating_point<ScalarType>::value ||
+ std::is_floating_point_v<ScalarType> ||
(boost::is_complex<ScalarType>::value &&
std::is_floating_point<typename internal::RemoveComplexWrapper<
ScalarType>::type>::value)>>::n_supported_derivative_levels;
template <typename ScalarType>
struct ADNumberTraits<
ScalarType,
- std::enable_if_t<std::is_floating_point<ScalarType>::value>>
+ std::enable_if_t<std::is_floating_point_v<ScalarType>>>
: NumberTraits<ScalarType, NumberTypes::none>
{};
ComplexScalarType,
std::enable_if_t<
boost::is_complex<ComplexScalarType>::value &&
- std::is_floating_point<typename ComplexScalarType::value_type>::value>>
+ std::is_floating_point_v<typename ComplexScalarType::value_type>>>
: NumberTraits<ComplexScalarType, NumberTypes::none>
{};