Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
matrix_vari.hpp
Go to the documentation of this file.
1 #ifndef STAN__AGRAD__REV__INTERNAL__MATRIX_VARI_HPP
2 #define STAN__AGRAD__REV__INTERNAL__MATRIX_VARI_HPP
3 
5 #include <stan/agrad/rev/var.hpp>
7 
8 namespace stan {
9  namespace agrad {
10 
11  class op_matrix_vari : public vari {
12  protected:
13  const size_t size_;
15  public:
16  template <int R, int C>
17  op_matrix_vari(double f, const Eigen::Matrix<stan::agrad::var,R,C>& vs) :
18  vari(f),
19  size_(vs.size()) {
20 
21  vis_ = (vari**) operator new(sizeof(vari*) * vs.size());
22  for (int i = 0; i < vs.size(); ++i)
23  vis_[i] = vs(i).vi_;
24  }
25  vari* operator[](size_t n) const {
26  return vis_[n];
27  }
28  size_t size() {
29  return size_;
30  }
31  };
32 
33  }
34 }
35 #endif
vari * operator[](size_t n) const
Definition: matrix_vari.hpp:25
The variable implementation base class.
Definition: vari.hpp:28
op_matrix_vari(double f, const Eigen::Matrix< stan::agrad::var, R, C > &vs)
Definition: matrix_vari.hpp:17

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