All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
log1p_exp.hpp
Go to the documentation of this file.
#ifndef STAN_MATH_PRIM_SCAL_FUN_LOG1P_EXP_HPP
#define STAN_MATH_PRIM_SCAL_FUN_LOG1P_EXP_HPP
#include <boost/math/tools/promotion.hpp>
#include <stan/math/prim/scal/fun/log1p.hpp>
namespace stan {
namespace math {
template <typename T>
inline typename boost::math::tools::promote_args<T>::type
log1p_exp(const T a) {
using std::exp;
// like log_sum_exp below with b=0.0; prevents underflow
if (a > 0.0)
return a + log1p(exp(-a));
return log1p(exp(a));
}
}
}
#endif
stan::math::exp
fvar< T > exp(const fvar< T > &x)
Definition: exp.hpp:10
stan::math::log1p_exp
fvar< T > log1p_exp(const fvar< T > &x)
Definition: log1p_exp.hpp:13
stan::math::log1p
fvar< T > log1p(const fvar< T > &x)
Definition: log1p.hpp:16
log1p.hpp

[ Stan Home Page ] © 2011–2015, Stan Development Team.