comparison DEPENDENCIES/generic/include/boost/math/special_functions/fpclassify.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
307 { 307 {
308 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 308 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
309 if(std::numeric_limits<T>::is_specialized) 309 if(std::numeric_limits<T>::is_specialized)
310 return isfinite_impl(x, generic_tag<true>()); 310 return isfinite_impl(x, generic_tag<true>());
311 #endif 311 #endif
312 (void)x; // warning supression. 312 (void)x; // warning suppression.
313 return true; 313 return true;
314 } 314 }
315 315
316 template<class T> 316 template<class T>
317 inline bool isfinite_impl(T x, ieee_tag const&) 317 inline bool isfinite_impl(T x, ieee_tag const&)
346 template<> 346 template<>
347 inline bool (isfinite)(long double x) 347 inline bool (isfinite)(long double x)
348 { //!< \brief return true if floating-point type t is finite. 348 { //!< \brief return true if floating-point type t is finite.
349 typedef detail::fp_traits<long double>::type traits; 349 typedef detail::fp_traits<long double>::type traits;
350 typedef traits::method method; 350 typedef traits::method method;
351 typedef boost::is_floating_point<long double>::type fp_tag; 351 //typedef boost::is_floating_point<long double>::type fp_tag;
352 typedef long double value_type; 352 typedef long double value_type;
353 return detail::isfinite_impl(static_cast<value_type>(x), method()); 353 return detail::isfinite_impl(static_cast<value_type>(x), method());
354 } 354 }
355 #endif 355 #endif
356 356
417 template<> 417 template<>
418 inline bool (isnormal)(long double x) 418 inline bool (isnormal)(long double x)
419 { 419 {
420 typedef detail::fp_traits<long double>::type traits; 420 typedef detail::fp_traits<long double>::type traits;
421 typedef traits::method method; 421 typedef traits::method method;
422 typedef boost::is_floating_point<long double>::type fp_tag; 422 //typedef boost::is_floating_point<long double>::type fp_tag;
423 typedef long double value_type; 423 typedef long double value_type;
424 return detail::isnormal_impl(static_cast<value_type>(x), method()); 424 return detail::isnormal_impl(static_cast<value_type>(x), method());
425 } 425 }
426 #endif 426 #endif
427 427
451 { 451 {
452 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 452 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
453 if(std::numeric_limits<T>::is_specialized) 453 if(std::numeric_limits<T>::is_specialized)
454 return isinf_impl(x, generic_tag<true>()); 454 return isinf_impl(x, generic_tag<true>());
455 #endif 455 #endif
456 (void)x; // warning supression. 456 (void)x; // warning suppression.
457 return false; 457 return false;
458 } 458 }
459 459
460 template<class T> 460 template<class T>
461 inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&) 461 inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&)
506 template<> 506 template<>
507 inline bool (isinf)(long double x) 507 inline bool (isinf)(long double x)
508 { 508 {
509 typedef detail::fp_traits<long double>::type traits; 509 typedef detail::fp_traits<long double>::type traits;
510 typedef traits::method method; 510 typedef traits::method method;
511 typedef boost::is_floating_point<long double>::type fp_tag; 511 //typedef boost::is_floating_point<long double>::type fp_tag;
512 typedef long double value_type; 512 typedef long double value_type;
513 return detail::isinf_impl(static_cast<value_type>(x), method()); 513 return detail::isinf_impl(static_cast<value_type>(x), method());
514 } 514 }
515 #endif 515 #endif
516 516
539 { 539 {
540 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 540 #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
541 if(std::numeric_limits<T>::is_specialized) 541 if(std::numeric_limits<T>::is_specialized)
542 return isnan_impl(x, generic_tag<true>()); 542 return isnan_impl(x, generic_tag<true>());
543 #endif 543 #endif
544 (void)x; // warning supression 544 (void)x; // warning suppression
545 return false; 545 return false;
546 } 546 }
547 547
548 template<class T> 548 template<class T>
549 inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&) 549 inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&)
592 template<> 592 template<>
593 inline bool (isnan)(long double x) 593 inline bool (isnan)(long double x)
594 { //!< \brief return true if floating-point type t is NaN (Not A Number). 594 { //!< \brief return true if floating-point type t is NaN (Not A Number).
595 typedef detail::fp_traits<long double>::type traits; 595 typedef detail::fp_traits<long double>::type traits;
596 typedef traits::method method; 596 typedef traits::method method;
597 typedef boost::is_floating_point<long double>::type fp_tag; 597 //typedef boost::is_floating_point<long double>::type fp_tag;
598 return detail::isnan_impl(x, method()); 598 return detail::isnan_impl(x, method());
599 } 599 }
600 #endif 600 #endif
601 601
602 } // namespace math 602 } // namespace math