Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
26ed582
Merge branch 'develop' into issue-2966-Add-7-parameter-DDM-CDF-and-CCDF
Franzi2114 Nov 30, 2023
a080ab8
CDF and CCDF function files
Franzi2114 Nov 30, 2023
eee7267
unit prim prob tests
Franzi2114 Nov 30, 2023
8483c39
mix tests
Franzi2114 Nov 30, 2023
5ecf546
header and clang format
Franzi2114 Nov 30, 2023
8f085b8
include
Franzi2114 Nov 30, 2023
f274c18
include
Franzi2114 Nov 30, 2023
f68fe16
include
Franzi2114 Nov 30, 2023
10feb1f
correct includes
Franzi2114 Nov 30, 2023
9758d68
uncomment tests
Franzi2114 Nov 30, 2023
363eb42
minor changes tests
Franzi2114 Nov 30, 2023
2e1febf
correct wiener5
Franzi2114 Nov 30, 2023
287472c
merge PDF branch
Franzi2114 Feb 23, 2024
1138571
merge pdf
Franzi2114 Feb 28, 2024
4fc8fdb
Merge branch 'issue-2682-Add-7-parameter-DDM-PDF' into issue-2966-Add…
Franzi2114 Mar 1, 2024
721f181
PDF style
Franzi2114 Mar 1, 2024
bcc361e
cdf in pdf style
Franzi2114 Mar 8, 2024
d14a5d8
delete obsolete initializers
Franzi2114 Mar 8, 2024
cda2f6e
all tests pass
Franzi2114 Mar 8, 2024
22146d7
Merge branch 'develop' into issue-2966-Add-7-parameter-DDM-CDF-and-CCDF
Franzi2114 Mar 15, 2024
22bbb18
ccdf umbauen
Franzi2114 Mar 15, 2024
466b2d2
lccdf prim test pass
Franzi2114 Mar 19, 2024
b5bcb06
ret_t
Franzi2114 Mar 19, 2024
71e7825
linhart cite
Franzi2114 Mar 19, 2024
401c7a7
Merge commit '35d6d53545bf382b1bf8e5ea7a04469310892a2a' into HEAD
yashikno Mar 29, 2024
f597049
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Mar 29, 2024
b65af9c
add brace
Franzi2114 Mar 29, 2024
1b14f78
add whitespaces
Franzi2114 Mar 29, 2024
6cd53f2
add params to docu
Franzi2114 Mar 29, 2024
d6c54c8
resolve some header errors
Franzi2114 Mar 29, 2024
142e017
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Mar 29, 2024
72617b1
add include to wiener4_lccdf
Franzi2114 Apr 2, 2024
601e4e1
Merge commit '1f94ed312376f726feb820bea90ed8df27974c17' into HEAD
yashikno Apr 2, 2024
20d9689
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Apr 2, 2024
59ea8bc
add two includes to wiener4_lccdf
Franzi2114 Apr 2, 2024
80d4962
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Apr 2, 2024
98756a6
add includes in wieener_full_lccdf
Franzi2114 Apr 2, 2024
aa93836
correct include
Franzi2114 Apr 2, 2024
3e607c6
include in wiener_full_lcdf
Franzi2114 Apr 2, 2024
dba1b36
another include
Franzi2114 Apr 2, 2024
ae909ae
another include
Franzi2114 Apr 3, 2024
632a0b8
restore hypergemoetric files
Franzi2114 Apr 12, 2024
30f6c85
less includes
Franzi2114 Apr 12, 2024
8a44586
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Apr 12, 2024
13e4fbf
reduce and inline some functions
Franzi2114 Apr 12, 2024
1bb3bd5
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Apr 12, 2024
d756c4a
whitespace error
Franzi2114 Apr 12, 2024
f105313
correct braces
Franzi2114 Apr 12, 2024
6862514
some minor changes
Franzi2114 Apr 12, 2024
a4549f2
more inlines
Franzi2114 May 9, 2024
70bc628
Merge commit '1830097a0de00b5322277b923fd6fb913050a90f' into HEAD
yashikno May 9, 2024
44ebbcf
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot May 9, 2024
037cca3
delete one ret_t
Franzi2114 May 9, 2024
c14459b
using ret_t
Franzi2114 May 9, 2024
49a14eb
Merge branch 'develop' into issue-2966-Add-7-parameter-DDM-CDF-and-CCDF
Franzi2114 May 24, 2024
4293e45
use std_normal_log, _lcdf, slice derive_y, shorter ifs
Franzi2114 Jun 28, 2024
979b17c
Merge commit 'af63738e6a62b9090188fd79592bfdfadf594705' into HEAD
yashikno Jun 28, 2024
46c7a1e
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Jun 28, 2024
e5f5048
early returns some ifs
Franzi2114 Sep 27, 2024
a4d1895
delete rexp
Franzi2114 Sep 28, 2024
572dcd4
merge develog
Franzi2114 Sep 28, 2024
00a930e
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Sep 28, 2024
b9b1839
correct ifs in ccdf_grad_w
Franzi2114 Oct 10, 2024
443e25b
Merge commit '2fdd3ed700d48c0bfea46091be885d4bc787b7b8' into HEAD
yashikno Oct 10, 2024
afd9330
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 10, 2024
20cba0c
fmin instead of min
Franzi2114 Oct 10, 2024
6c8688f
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 10, 2024
97ab7a9
change prob_deriv *= prob
Franzi2114 Oct 10, 2024
f53cda6
some ret_t types
Franzi2114 Oct 12, 2024
cbd2c80
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 12, 2024
be67633
small code cleanup
SteveBronder Oct 25, 2024
cc70169
small code cleanup
SteveBronder Oct 25, 2024
b09bd1b
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 25, 2024
a280b12
error corrected
Franzi2114 Nov 9, 2024
bdd000e
Merge commit '7ada875b1a3a20fd78ce4eabd29664dc0d1fc42e' into HEAD
yashikno Nov 9, 2024
0d05c83
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Nov 9, 2024
44a6c2b
deleted wildcards
Franzi2114 Nov 9, 2024
2489d88
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Nov 9, 2024
ca6e23e
Merge branch 'develop' into feature/issue-2966-Add-7-parameter-DDM-CD…
Franzi2114 Oct 3, 2025
2fdfe8f
first bunch of changes for Bob
Franzi2114 Oct 13, 2025
398a56f
Merge commit 'b9167895dbb574acd40c2d3f8dd4b5ca6fb3d418' into HEAD
yashikno Oct 16, 2025
5b0fb36
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
79ae69a
first correction
Franzi2114 Oct 16, 2025
02f03aa
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
38846da
second correction
Franzi2114 Oct 16, 2025
4a58f7b
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
859d6c0
third correction
Franzi2114 Oct 16, 2025
17373b8
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
783e9a5
without static constexpr
Franzi2114 Oct 16, 2025
a38bf2b
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
965091e
const double log_four instead of static constexpr double
Franzi2114 Oct 16, 2025
c8aa4b9
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 16, 2025
7b3ce8d
fourth correction
Franzi2114 Oct 17, 2025
1535b2f
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 17, 2025
5504f82
changes for wiener4_lcdf
Franzi2114 Oct 17, 2025
e324b67
[Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1
stan-buildbot Oct 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions stan/math/fwd/fun/hypergeometric_1F0.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ namespace math {
template <typename Ta, typename Tz, typename FvarT = return_type_t<Ta, Tz>,
require_all_stan_scalar_t<Ta, Tz>* = nullptr,
require_any_fvar_t<Ta, Tz>* = nullptr>
inline FvarT hypergeometric_1F0(const Ta& a, const Tz& z) {
FvarT hypergeometric_1F0(const Ta& a, const Tz& z) {
partials_type_t<Ta> a_val = value_of(a);
partials_type_t<Tz> z_val = value_of(z);
FvarT rtn = FvarT(hypergeometric_1F0(a_val, z_val), 0.0);
if constexpr (is_autodiff_v<Ta>) {
rtn.d_ += a.d() * -rtn.val() * log1m(z_val);
rtn.d_ += forward_as<FvarT>(a).d() * -rtn.val() * log1m(z_val);
}
if constexpr (is_autodiff_v<Tz>) {
rtn.d_ += z.d() * rtn.val() * a_val * inv(1 - z_val);
rtn.d_ += forward_as<FvarT>(z).d() * rtn.val() * a_val * inv(1 - z_val);
}
return rtn;
}
Expand Down
8 changes: 4 additions & 4 deletions stan/math/fwd/fun/hypergeometric_2F1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,16 @@ inline return_type_t<Ta1, Ta2, Tb, Tz> hypergeometric_2F1(const Ta1& a1,
typename fvar_t::Scalar grad = 0;

if constexpr (is_autodiff_v<Ta1>) {
grad += a1.d() * std::get<0>(grad_tuple);
grad += forward_as<fvar_t>(a1).d() * std::get<0>(grad_tuple);
}
if constexpr (is_autodiff_v<Ta2>) {
grad += a2.d() * std::get<1>(grad_tuple);
grad += forward_as<fvar_t>(a2).d() * std::get<1>(grad_tuple);
}
if constexpr (is_autodiff_v<Tb>) {
grad += b.d() * std::get<2>(grad_tuple);
grad += forward_as<fvar_t>(b).d() * std::get<2>(grad_tuple);
}
if constexpr (is_autodiff_v<Tz>) {
grad += z.d() * std::get<3>(grad_tuple);
grad += forward_as<fvar_t>(z).d() * std::get<3>(grad_tuple);
}

return fvar_t(hypergeometric_2F1(a1_val, a2_val, b_val, z_val), grad);
Expand Down
7 changes: 4 additions & 3 deletions stan/math/fwd/fun/inv_inc_beta.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ inline fvar<partials_return_t<T1, T2, T3>> inv_inc_beta(const T1& a,
+ log(hypergeometric_3F2(da_a, da_b, w)) - 2 * lgamma(ap1));
auto da3 = inc_beta(a_val, b_val, w) * exp(lbeta_ab)
* (log_w - digamma(a_val) + digamma_apb);
inv_d_ += a.d_ * da1 * (da2 - da3);
inv_d_ += forward_as<fvar<T_return>>(a).d_ * da1 * (da2 - da3);
}

if constexpr (is_fvar<T2>::value) {
Expand All @@ -76,11 +76,12 @@ inline fvar<partials_return_t<T1, T2, T3>> inv_inc_beta(const T1& a,
auto db3 = inc_beta(b_val, a_val, one_m_w) * exp(lbeta_ab)
* (log1m_w - digamma(b_val) + digamma_apb);

inv_d_ += b.d_ * db1 * (exp(db2) - db3);
inv_d_ += forward_as<fvar<T_return>>(b).d_ * db1 * (exp(db2) - db3);
}

if constexpr (is_fvar<T3>::value) {
inv_d_ += p.d_ * exp(one_m_b * log1m_w + one_m_a * log_w + lbeta_ab);
inv_d_ += forward_as<fvar<T_return>>(p).d_
* exp(one_m_b * log1m_w + one_m_a * log_w + lbeta_ab);
}

return fvar<T_return>(w, inv_d_);
Expand Down
2 changes: 1 addition & 1 deletion stan/math/fwd/fun/polar.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ inline std::complex<fvar<T>> polar(const fvar<T>& r, U theta) {
* Returns complex number with specified magnitude and phase angle.
*
* @tparam T autodiff value type for phase angle
* * @tparam U arithmetic type for magnitude
+* * @tparam U arithmetic type for magnitude
* @param[in] r magnitude
* @param[in] theta phase angle
* @return complex number with magnitude and phase angle
Expand Down
4 changes: 2 additions & 2 deletions stan/math/fwd/functor/gradient.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ namespace math {
* @param[out] grad_fx Gradient of function at argument
*/
template <typename T, typename F>
inline void gradient(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
T& fx, Eigen::Matrix<T, Eigen::Dynamic, 1>& grad_fx) {
void gradient(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x, T& fx,
Eigen::Matrix<T, Eigen::Dynamic, 1>& grad_fx) {
Eigen::Matrix<fvar<T>, Eigen::Dynamic, 1> x_fvar(x.size());
grad_fx.resize(x.size());
for (int i = 0; i < x.size(); ++i) {
Expand Down
6 changes: 3 additions & 3 deletions stan/math/fwd/functor/hessian.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ namespace math {
* @param[out] H Hessian of function at argument
*/
template <typename T, typename F>
inline void hessian(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
T& fx, Eigen::Matrix<T, Eigen::Dynamic, 1>& grad,
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& H) {
void hessian(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x, T& fx,
Eigen::Matrix<T, Eigen::Dynamic, 1>& grad,
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& H) {
H.resize(x.size(), x.size());
grad.resize(x.size());
// size 0 separate because nothing to loop over in main body
Expand Down
4 changes: 2 additions & 2 deletions stan/math/fwd/functor/integrate_1d.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ inline return_type_t<T_a, T_b, Args...> integrate_1d_impl(
if constexpr (is_fvar<T_a>::value || is_fvar<T_b>::value) {
auto val_args = std::make_tuple(value_of(args)...);
if constexpr (is_fvar<T_a>::value) {
ret.d_ += a.d_
ret.d_ += math::forward_as<FvarT>(a).d_
* math::apply(
[&](auto &&... tuple_args) {
return -f(a_val, 0.0, msgs, tuple_args...);
},
val_args);
}
if constexpr (is_fvar<T_b>::value) {
ret.d_ += b.d_
ret.d_ += math::forward_as<FvarT>(b).d_
* math::apply(
[&](auto &&... tuple_args) {
return f(b_val, 0.0, msgs, tuple_args...);
Expand Down
6 changes: 3 additions & 3 deletions stan/math/fwd/functor/jacobian.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ namespace stan {
namespace math {

template <typename T, typename F>
inline void jacobian(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
Eigen::Matrix<T, Eigen::Dynamic, 1>& fx,
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& J) {
void jacobian(const F& f, const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
Eigen::Matrix<T, Eigen::Dynamic, 1>& fx,
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& J) {
using Eigen::Dynamic;
using Eigen::Matrix;
Matrix<fvar<T>, Dynamic, 1> x_fvar(x.size());
Expand Down
2 changes: 1 addition & 1 deletion stan/math/memory/stack_alloc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace math {
* @tparam Type of object to which pointer points.
*/
template <typename T>
inline bool is_aligned(T* ptr, unsigned int bytes_aligned) {
bool is_aligned(T* ptr, unsigned int bytes_aligned) {
return (reinterpret_cast<uintptr_t>(ptr) % bytes_aligned) == 0U;
}

Expand Down
8 changes: 4 additions & 4 deletions stan/math/mix/functor/hessian_times_vector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ inline void hessian_times_vector(
template <typename T, typename F, typename EigVec,
require_eigen_vector_t<EigVec>* = nullptr,
require_stan_scalar_t<T>* = nullptr>
inline void hessian_times_vector(const F& f,
const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
const EigVec& v, T& fx,
Eigen::Matrix<T, Eigen::Dynamic, 1>& Hv) {
void hessian_times_vector(const F& f,
const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
const EigVec& v, T& fx,
Eigen::Matrix<T, Eigen::Dynamic, 1>& Hv) {
using Eigen::Matrix;
Matrix<T, Eigen::Dynamic, 1> grad;
Matrix<T, Eigen::Dynamic, Eigen::Dynamic> H;
Expand Down
6 changes: 3 additions & 3 deletions stan/math/mix/functor/partial_derivative.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ namespace math {
* @param[out] dfx_dxn Value of partial derivative
*/
template <typename T, typename F>
inline void partial_derivative(const F& f,
const Eigen::Matrix<T, Eigen::Dynamic, 1>& x,
int n, T& fx, T& dfx_dxn) {
void partial_derivative(const F& f,
const Eigen::Matrix<T, Eigen::Dynamic, 1>& x, int n,
T& fx, T& dfx_dxn) {
Eigen::Matrix<fvar<T>, Eigen::Dynamic, 1> x_fvar(x.size());
for (int i = 0; i < x.size(); ++i) {
x_fvar(i) = fvar<T>(x(i), i == n);
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/copy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ inline T_dst from_matrix_cl(const matrix_cl<T>& src) {
* @return Eigen matrix with a copy of the data in the source matrix
*/
template <typename T, require_all_kernel_expressions_t<T>* = nullptr>
inline auto from_matrix_cl(const T& src) {
auto from_matrix_cl(const T& src) {
return from_matrix_cl<
Eigen::Matrix<scalar_type_t<T>, Eigen::Dynamic, Eigen::Dynamic>>(src);
}
Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/indexing_rev.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ namespace math {
* @param idx indices
* @param res adjoint of the result of the indexing operation
*/
inline void indexing_rev(matrix_cl<double>& adj, const matrix_cl<int>& idx,
const matrix_cl<double>& res) {
void indexing_rev(matrix_cl<double>& adj, const matrix_cl<int>& idx,
const matrix_cl<double>& res) {
int local_mem_size
= opencl_context.device()[0].getInfo<CL_DEVICE_LOCAL_MEM_SIZE>();
int preferred_work_groups
Expand Down
3 changes: 1 addition & 2 deletions stan/math/opencl/kernel_generator/evaluate_into.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ namespace math {
*/
template <typename Derived, typename Scalar, typename... Args>
template <typename T_lhs>
inline void operation_cl<Derived, Scalar, Args...>::evaluate_into(
T_lhs& lhs) const {
void operation_cl<Derived, Scalar, Args...>::evaluate_into(T_lhs& lhs) const {
static_assert(
is_kernel_expression<T_lhs>::value,
"operation_cl::evaluate_into: left hand side is not a valid expression!");
Expand Down
12 changes: 6 additions & 6 deletions stan/math/opencl/kernel_generator/holder_cl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class holder_cl_
*/
template <typename T, typename... Ptrs,
require_all_kernel_expressions_t<T, Ptrs...>* = nullptr>
inline auto holder_cl(T&& a, Ptrs*... ptrs) {
auto holder_cl(T&& a, Ptrs*... ptrs) {
return holder_cl_<as_operation_cl_t<T>, Ptrs...>(
as_operation_cl(std::forward<T>(a)), ptrs...);
}
Expand All @@ -81,8 +81,8 @@ namespace internal {
* @return `holder_cl` referencing given expression
*/
template <typename T, std::size_t... Is, typename... Args>
inline auto make_holder_cl_impl_step2(T&& expr, std::index_sequence<Is...>,
const std::tuple<Args*...>& ptrs) {
auto make_holder_cl_impl_step2(T&& expr, std::index_sequence<Is...>,
const std::tuple<Args*...>& ptrs) {
return holder_cl(std::forward<T>(expr), std::get<Is>(ptrs)...);
}

Expand All @@ -96,8 +96,8 @@ inline auto make_holder_cl_impl_step2(T&& expr, std::index_sequence<Is...>,
* @return `holder_cl` referencing given expression
*/
template <typename T, std::size_t... Is, typename... Args>
inline auto make_holder_cl_impl_step1(const T& func, std::index_sequence<Is...>,
Args&&... args) {
auto make_holder_cl_impl_step1(const T& func, std::index_sequence<Is...>,
Args&&... args) {
std::tuple<std::remove_reference_t<Args>*...> res;
auto ptrs = std::tuple_cat(
holder_handle_element(std::forward<Args>(args), std::get<Is>(res))...);
Expand All @@ -122,7 +122,7 @@ template <typename T, typename... Args,
require_all_kernel_expressions_t<
decltype(std::declval<T>()(std::declval<Args&>()...)),
Args...>* = nullptr>
inline auto make_holder_cl(const T& func, Args&&... args) {
auto make_holder_cl(const T& func, Args&&... args) {
return internal::make_holder_cl_impl_step1(
func, std::make_index_sequence<sizeof...(Args)>(),
std::forward<Args>(args)...);
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/kernel_generator/multi_result_kernel.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@ class results_cl {
* @param results results that will be calculated in same kernel.
*/
template <typename... T_results>
inline results_cl<T_results...> results(T_results&&... results) {
results_cl<T_results...> results(T_results&&... results) {
return results_cl<T_results...>(std::forward<T_results>(results)...);
}

Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/prim/bernoulli_cdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ template <
typename T_n_cl, typename T_prob_cl,
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_prob_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_prob_cl>* = nullptr>
inline return_type_t<T_prob_cl> bernoulli_cdf(const T_n_cl& n,
const T_prob_cl& theta) {
return_type_t<T_prob_cl> bernoulli_cdf(const T_n_cl& n,
const T_prob_cl& theta) {
static constexpr const char* function = "bernoulli_cdf(OpenCL)";
using T_partials_return = partials_return_t<T_prob_cl>;
using std::isnan;
Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/prim/bernoulli_lccdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ template <
typename T_n_cl, typename T_prob_cl,
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_prob_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_prob_cl>* = nullptr>
inline return_type_t<T_prob_cl> bernoulli_lccdf(const T_n_cl& n,
const T_prob_cl& theta) {
return_type_t<T_prob_cl> bernoulli_lccdf(const T_n_cl& n,
const T_prob_cl& theta) {
static constexpr const char* function = "bernoulli_lccdf(OpenCL)";
using T_partials_return = partials_return_t<T_prob_cl>;
using std::isnan;
Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/prim/bernoulli_lcdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ template <
typename T_n_cl, typename T_prob_cl,
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_prob_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_prob_cl>* = nullptr>
inline return_type_t<T_prob_cl> bernoulli_lcdf(const T_n_cl& n,
const T_prob_cl& theta) {
return_type_t<T_prob_cl> bernoulli_lcdf(const T_n_cl& n,
const T_prob_cl& theta) {
static constexpr const char* function = "bernoulli_lcdf(OpenCL)";
using T_partials_return = partials_return_t<T_prob_cl>;
using std::isnan;
Expand Down
5 changes: 3 additions & 2 deletions stan/math/opencl/prim/bernoulli_logit_glm_lpmf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ template <bool propto, typename T_x_cl, typename T_y_cl, typename T_alpha_cl,
typename T_beta_cl,
require_all_prim_or_rev_kernel_expression_t<
T_y_cl, T_x_cl, T_alpha_cl, T_beta_cl>* = nullptr>
inline return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> bernoulli_logit_glm_lpmf(
return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> bernoulli_logit_glm_lpmf(
const T_y_cl& y, const T_x_cl& x, const T_alpha_cl& alpha,
const T_beta_cl& beta) {
static constexpr const char* function = "bernoulli_logit_glm_lpmf(OpenCL)";
Expand Down Expand Up @@ -144,7 +144,8 @@ inline return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> bernoulli_logit_glm_lpmf(
if constexpr (is_alpha_vector) {
partials<1>(ops_partials) = theta_derivative_cl;
} else {
partials<1>(ops_partials)[0]
forward_as<internal::broadcast_array<double>>(
partials<1>(ops_partials))[0]
= sum(from_matrix_cl(theta_derivative_sum_cl));
}
}
Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/prim/bernoulli_logit_lpmf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ template <
bool propto, typename T_n_cl, typename T_prob_cl,
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_prob_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_prob_cl>* = nullptr>
inline return_type_t<T_prob_cl> bernoulli_logit_lpmf(const T_n_cl& n,
const T_prob_cl& theta) {
return_type_t<T_prob_cl> bernoulli_logit_lpmf(const T_n_cl& n,
const T_prob_cl& theta) {
static constexpr const char* function = "bernoulli_logit_lpmf(OpenCL)";
using T_partials_return = partials_return_t<T_prob_cl>;
using std::isnan;
Expand Down
11 changes: 6 additions & 5 deletions stan/math/opencl/prim/bernoulli_lpmf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ template <
bool propto, typename T_n_cl, typename T_prob_cl,
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_prob_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_prob_cl>* = nullptr>
inline return_type_t<T_prob_cl> bernoulli_lpmf(const T_n_cl& n,
const T_prob_cl& theta) {
return_type_t<T_prob_cl> bernoulli_lpmf(const T_n_cl& n,
const T_prob_cl& theta) {
static constexpr const char* function = "bernoulli_lpmf(OpenCL)";
using T_partials_return = partials_return_t<T_prob_cl>;
constexpr bool is_n_vector = !is_stan_scalar<T_n_cl>::value;
Expand Down Expand Up @@ -77,15 +77,15 @@ inline return_type_t<T_prob_cl> bernoulli_lpmf(const T_n_cl& n,
partials<0>(ops_partials) = deriv_cl;
}
} else {
auto n_sum_expr = rowwise_sum(n);
auto n_sum_expr = rowwise_sum(forward_as<matrix_cl<int>>(n));

matrix_cl<int> n_sum_cl;

results(n_sum_cl, check_n_bounded)
= expressions(n_sum_expr, n_bounded_expr);

size_t n_sum = sum(from_matrix_cl(n_sum_cl));
double theta_val_scal = theta_val;
double theta_val_scal = forward_as<double>(theta_val);
if (n_sum == N) {
logp = N * log(theta_val_scal);
} else if (n_sum == 0) {
Expand All @@ -94,7 +94,8 @@ inline return_type_t<T_prob_cl> bernoulli_lpmf(const T_n_cl& n,
logp = n_sum * log(theta_val_scal) + (N - n_sum) * log1m(theta_val_scal);
}
if constexpr (is_autodiff_v<T_prob_cl>) {
double& edge1_partial = partials<0>(ops_partials)[0];
double& edge1_partial = forward_as<internal::broadcast_array<double>>(
partials<0>(ops_partials))[0];
if (n_sum == N) {
edge1_partial += N / theta_val_scal;
} else if (n_sum == 0) {
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/prim/beta_binomial_lpmf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ template <
require_all_prim_or_rev_kernel_expression_t<T_n_cl, T_size1_cl,
T_size2_cl>* = nullptr,
require_any_not_stan_scalar_t<T_n_cl, T_size1_cl, T_size2_cl>* = nullptr>
inline return_type_t<T_n_cl, T_size1_cl, T_size2_cl> beta_binomial_lpmf(
return_type_t<T_n_cl, T_size1_cl, T_size2_cl> beta_binomial_lpmf(
const T_n_cl& n, const T_N_cl N, const T_size1_cl& alpha,
const T_size2_cl& beta) {
using std::isfinite;
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/prim/beta_lpdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ template <bool propto, typename T_y_cl, typename T_scale_succ_cl,
T_y_cl, T_scale_succ_cl, T_scale_fail_cl>* = nullptr,
require_any_not_stan_scalar_t<T_y_cl, T_scale_succ_cl,
T_scale_fail_cl>* = nullptr>
inline return_type_t<T_y_cl, T_scale_succ_cl, T_scale_fail_cl> beta_lpdf(
return_type_t<T_y_cl, T_scale_succ_cl, T_scale_fail_cl> beta_lpdf(
const T_y_cl& y, const T_scale_succ_cl& alpha,
const T_scale_fail_cl& beta) {
using std::isfinite;
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/prim/beta_proportion_lpdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ template <bool propto, typename T_y_cl, typename T_loc_cl, typename T_prec_cl,
require_all_prim_or_rev_kernel_expression_t<T_y_cl, T_loc_cl,
T_prec_cl>* = nullptr,
require_any_not_stan_scalar_t<T_y_cl, T_loc_cl, T_prec_cl>* = nullptr>
inline return_type_t<T_y_cl, T_loc_cl, T_prec_cl> beta_proportion_lpdf(
return_type_t<T_y_cl, T_loc_cl, T_prec_cl> beta_proportion_lpdf(
const T_y_cl& y, const T_loc_cl& mu, const T_prec_cl& kappa) {
static constexpr const char* function = "beta_proportion_lpdf(OpenCL)";
using T_partials_return = partials_return_t<T_y_cl, T_loc_cl, T_prec_cl>;
Expand Down
6 changes: 4 additions & 2 deletions stan/math/opencl/prim/binomial_logit_glm_lpmf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ template <bool propto, typename T_n_cl, typename T_N_cl, typename T_x_cl,
typename T_alpha_cl, typename T_beta_cl,
require_all_prim_or_rev_kernel_expression_t<
T_n_cl, T_N_cl, T_x_cl, T_alpha_cl, T_beta_cl>* = nullptr>
inline return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> binomial_logit_glm_lpmf(
return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> binomial_logit_glm_lpmf(
const T_n_cl& n, const T_N_cl& N, const T_x_cl& x, const T_alpha_cl& alpha,
const T_beta_cl& beta) {
static const char* function = "binomial_logit_glm_lpmf(OpenCL)";
Expand Down Expand Up @@ -111,7 +111,9 @@ inline return_type_t<T_x_cl, T_alpha_cl, T_beta_cl> binomial_logit_glm_lpmf(
if constexpr (is_alpha_vector) {
partials<1>(ops_partials) = theta_deriv_cl;
} else {
partials<1>(ops_partials)[0] = sum(from_matrix_cl(theta_deriv_sum_cl));
forward_as<internal::broadcast_array<double>>(
partials<1>(ops_partials))[0]
= sum(from_matrix_cl(theta_deriv_sum_cl));
}
}
if constexpr (is_autodiff_v<T_beta_cl>) {
Expand Down
Loading