1#ifndef STAN_MATH_PRIM_FUN_LOGIT_HPP 
    2#define STAN_MATH_PRIM_FUN_LOGIT_HPP 
   46template <
typename T, require_
floating_po
int_t<T>* = 
nullptr>
 
   48  return std::log(u / (1 - u));
 
   57template <
typename T, require_
integral_t<T>* = 
nullptr>
 
   58inline double logit(
const T u) {
 
   59  return logit(
static_cast<double>(u));
 
   74  static inline auto fun(T&& x) {
 
   75    return logit(std::forward<T>(x));
 
   89template <
typename Container, require_ad_container_t<Container>* = 
nullptr>
 
   90inline auto logit(Container&& x) {
 
   92      std::forward<Container>(x));
 
  106template <
typename Container,
 
  108inline auto logit(Container&& x) {
 
  111        return apply_vector_unary<ref_type_t<Container>>
::apply(
 
  112            std::forward<
decltype(v_ref)>(v_ref),
 
  113            [](
auto&& v) { 
return (v.array() / (1 - v.array())).log(); });
 
  115      to_ref(std::forward<Container>(x)));
 
require_t< container_type_check_base< is_container, base_type_t, TypeCheck, Check... > > require_container_bt
Require type satisfies is_container.
 
fvar< T > logit(const fvar< T > &x)
 
auto make_holder(F &&func, Args &&... args)
Calls given function with given arguments.
 
ref_type_t< T && > to_ref(T &&a)
This evaluates expensive Eigen expressions.
 
constexpr decltype(auto) apply(F &&f, Tuple &&t, PreArgs &&... pre_args)
 
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
 
Base template class for vectorization of unary scalar functions defined by a template class F to a sc...
 
static auto fun(T &&x)
Return the log odds of the specified argument.
 
Structure to wrap logit() so it can be vectorized.