Stan  2.10.0
probability, sampling & optimization
prob_grad.hpp
Go to the documentation of this file.
1 #ifndef STAN_MODEL_PROB_GRAD_HPP
2 #define STAN_MODEL_PROB_GRAD_HPP
3 
4 #include <cstddef>
5 #include <utility>
6 #include <vector>
7 
8 namespace stan {
9 
10  namespace model {
11 
17  class prob_grad {
18  protected:
20  std::vector<std::pair<int, int> > param_ranges_i__;
21 
22  public:
23  explicit prob_grad(size_t num_params_r)
24  : num_params_r__(num_params_r),
25  param_ranges_i__(std::vector<std::pair<int, int> >(0)) {
26  }
27 
29  std::vector<std::pair<int, int> >& param_ranges_i)
30  : num_params_r__(num_params_r),
31  param_ranges_i__(param_ranges_i) {
32  }
33 
34  virtual ~prob_grad() { }
35 
36  inline size_t num_params_r() const {
37  return num_params_r__;
38  }
39 
40  inline size_t num_params_i() const {
41  return param_ranges_i__.size();
42  }
43 
44  inline std::pair<int, int> param_range_i(size_t idx) const {
45  return param_ranges_i__[idx];
46  }
47  };
48  }
49 }
50 
51 #endif
The prob_grad class represents the basic parameter holders for a model.
Definition: prob_grad.hpp:17
std::pair< int, int > param_range_i(size_t idx) const
Definition: prob_grad.hpp:44
Probability, optimization and sampling library.
Template specification of functions in std for Stan.
std::vector< std::pair< int, int > > param_ranges_i__
Definition: prob_grad.hpp:20
prob_grad(size_t num_params_r)
Definition: prob_grad.hpp:23
prob_grad(size_t num_params_r, std::vector< std::pair< int, int > > &param_ranges_i)
Definition: prob_grad.hpp:28
size_t num_params_r() const
Definition: prob_grad.hpp:36
size_t num_params_i() const
Definition: prob_grad.hpp:40

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