stan-dev / stan-dev/math

Implement missing `cdf`/`lcdf`/`lccdf` functions for distributions

Open
#2,657 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature good first issue
Dominant language
C++
Stars
839
Forks
220
Avg merge
2d 4h
Merged PRs (30d)
14

Description

Description

This is a checklist of all _cdf, _lcdf and _lccdf functions that are not implemented for their _lpdf and _lpmf counterparts.

I am not sure all of them make sense or are even something we would want to implement, I am just listing all of the theoretically missing. If someone has insight, please comment and we can remove any of them.

  • bernoulli_logit_glm_cdf, bernoulli_logit_glm_cdf_lcdf, bernoulli_logit_glm_cdf_lccdf
  • bernoulli_logit_cdf, bernoulli_logit_lcdf, bernoulli_logit_lccdf
  • beta_proportion_cdf
  • binomial_logit_cdf, binomial_logit_lcdf, binomial_logit_lccdf
  • categorical_logit_glm_cdf, categorical_logit_glm_lcdf, categorical_logit_glm_lccdf
  • categorical_logit_cdf, categorical_logit_lcdf, categorical_logit_lccdf
  • categorical_cdf, categorical_lccdf, categorical_lccdf
  • dirichlet_cdf, dirichlet_lcdf, dirichlet_lccdf
  • gaussian_dlm_obs_cdf, gaussian_dlm_obs_lcdf, gaussian_dlm_obs_lcccdf
  • hypergeometric_cdf, hypergeometric_lcdf, hypergeometric_lccdf
  • inv_wishart_cdf, inv_wishart_lcdf, inv_wishart_lccdf
  • lkj_corr_cholesky_cdf, lkj_corr_cholesky_lcdf, lkj_corr_cholesky_lccdf
  • lkj_corr_cdf, lkj_corr_lcdf, lkj_corr_lccdf
  • loglogistic_lcdf, loglogistic_lccdf
  • neg_binomial_2_log_glm_cdf, neg_binomial_2_log_glm_lcdf, neg_binomial_2_log_glm_lccdf
  • neg_binomial_2_log_cdf, neg_binomial_2_log_lcdf, neg_binomial_2_log_lccdf
  • normal_id_glm_cdf, normal_id_glm_lcdf, normal_id_glm_lccdf
  • ordered_logistic_glm_cdf, ordered_logistic_glm_lcdf, ordered_logistic_glm_lccdf
  • ordered_logistic_cdf, ordered_logistic_lcdf, ordered_logistic_lccdf
  • ordered_probit_cdf, ordered_probit_lcdf, ordered_probit_lccdf
  • poisson_log_glm_cdf, poisson_log_glm_lcdf, poisson_log_glm_lccdf
  • poisson_log_cdf, poisson_log_lcdf, poisson_log_clcdf
  • wiener_cdf, wiener_lcdf, wiener_lccdf
  • wishart_cdf, wishart_lcdf, wishart_lccdf

loglogistic and beta_proportion are the only two where cdfs are partially supported, the rest of them have no cdf functions implemented.

Current Version:

v4.2.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names a broad checklist of missing CDF, LCDF, and LCCDF functions but provides no files, entry points, or tests. Start by reviewing the existing _lpdf and _lpmf counterparts for one distribution and confirming which requested functions are appropriate. Done requires an agreed subset of checklist items to be implemented and validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.