1#ifndef STAN_MATH_PRIM_FUN_LOG_SOFTMAX_HPP
2#define STAN_MATH_PRIM_FUN_LOG_SOFTMAX_HPP
44template <
typename Container, require_st_arithmetic<Container>* =
nullptr,
45 require_container_t<Container>* =
nullptr,
46 require_not_t<
bool_constant<
47 is_eigen<std::decay_t<Container>>::value
48 && !is_eigen_vector<std::decay_t<Container>>::value>>* =
nullptr>
53 std::forward<
decltype(a)>(a),
61 to_ref(std::forward<Container>(x)));
auto make_holder(F &&func, Args &&... args)
Calls given function with given arguments.
auto log_softmax(T &&x)
Return the log softmax of each vector in a container of fvar values.
ref_type_t< T && > to_ref(T &&a)
This evaluates expensive Eigen expressions.
constexpr decltype(auto) apply(F &&f, Tuple &&t, PreArgs &&... pre_args)
fvar< T > log_sum_exp(const fvar< T > &x1, const fvar< T > &x2)
typename plain_type< std::decay_t< T > >::type plain_type_t
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...