stdcpp/tsrc/Boost_test/math/test/src/log1p_expm1_test.cpp
changeset 22 ddc455616bd6
parent 0 e4d67989cc36
child 45 4b03adbd26ca
child 57 2efc27d87e1c
equal deleted inserted replaced
18:47c74d1534e1 22:ddc455616bd6
   557       BOOST_CHECK_CLOSE(boost::math::expm1(-input_value), -boost::math::expm1(input_value)/static_cast<T>(std::exp(input_value)), 2*factor);
   557       BOOST_CHECK_CLOSE(boost::math::expm1(-input_value), -boost::math::expm1(input_value)/static_cast<T>(std::exp(input_value)), 2*factor);
   558    }   
   558    }   
   559    //
   559    //
   560    // C99 Appendix F special cases:
   560    // C99 Appendix F special cases:
   561    static const T zero = 0;
   561    static const T zero = 0;
   562    static const T m_one = -1;
   562    
   563    BOOST_CHECK_EQUAL(boost::math::log1p(zero), zero);
   563    BOOST_CHECK_EQUAL(boost::math::log1p(zero), zero);
   564    BOOST_CHECK_EQUAL(boost::math::log1p(-zero), zero);
   564    BOOST_CHECK_EQUAL(boost::math::log1p(-zero), zero);
   565    BOOST_CHECK_EQUAL(boost::math::expm1(zero), zero);
   565    BOOST_CHECK_EQUAL(boost::math::expm1(zero), zero);
   566    if(std::numeric_limits<T>::has_infinity)
   566    if(std::numeric_limits<T>::has_infinity)
   567    {
   567    {
   568       #ifndef __SYMBIAN32__ 
   568       #ifndef __SYMBIAN32__
       
   569       static const T m_one = -1; 
   569       BOOST_CHECK_EQUAL(boost::math::log1p(m_one), -std::numeric_limits<T>::infinity());
   570       BOOST_CHECK_EQUAL(boost::math::log1p(m_one), -std::numeric_limits<T>::infinity());
   570       BOOST_CHECK_EQUAL(boost::math::expm1(-std::numeric_limits<T>::infinity()), m_one);
   571       BOOST_CHECK_EQUAL(boost::math::expm1(-std::numeric_limits<T>::infinity()), m_one);
   571       #endif
   572       #endif
   572       BOOST_CHECK_EQUAL(boost::math::expm1(std::numeric_limits<T>::infinity()), std::numeric_limits<T>::infinity());
   573       BOOST_CHECK_EQUAL(boost::math::expm1(std::numeric_limits<T>::infinity()), std::numeric_limits<T>::infinity());
   573    }
   574    }