Stan Math Library  2.9.0
reverse mode automatic differentiation
autodiffstackstorage.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_REV_CORE_AUTODIFFSTACKSTORAGE_HPP
2 #define STAN_MATH_REV_CORE_AUTODIFFSTACKSTORAGE_HPP
3 
5 #include <vector>
6 
7 namespace stan {
8  namespace math {
9 
10  template<typename ChainableT,
11  typename ChainableAllocT>
13  static std::vector<ChainableT*> var_stack_;
14  static std::vector<ChainableT*> var_nochain_stack_;
15  static std::vector<ChainableAllocT*> var_alloc_stack_;
17 
18  // nested positions
19  static std::vector<size_t> nested_var_stack_sizes_;
20  static std::vector<size_t> nested_var_nochain_stack_sizes_;
21  static std::vector<size_t> nested_var_alloc_stack_starts_;
22  };
23 
24  template<typename ChainableT, typename ChainableAllocT>
25  std::vector<ChainableT*>
27 
28  template<typename ChainableT, typename ChainableAllocT>
29  std::vector<ChainableT*>
31 
32  template<typename ChainableT, typename ChainableAllocT>
33  std::vector<ChainableAllocT*>
35 
36  template<typename ChainableT, typename ChainableAllocT>
39 
40  template<typename ChainableT, typename ChainableAllocT>
41  std::vector<size_t>
43 
44  template<typename ChainableT, typename ChainableAllocT>
45  std::vector<size_t>
47  ::nested_var_nochain_stack_sizes_;
48 
49  template<typename ChainableT, typename ChainableAllocT>
50  std::vector<size_t>
52  ::nested_var_alloc_stack_starts_;
53 
54  }
55 }
56 #endif
static std::vector< ChainableAllocT * > var_alloc_stack_
static std::vector< ChainableT * > var_nochain_stack_
static std::vector< size_t > nested_var_nochain_stack_sizes_
static std::vector< size_t > nested_var_stack_sizes_
static std::vector< ChainableT * > var_stack_
An instance of this class provides a memory pool through which blocks of raw memory may be allocated ...
Definition: stack_alloc.hpp:74
static std::vector< size_t > nested_var_alloc_stack_starts_

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