Stan Math Library  2.10.0
reverse mode automatic differentiation
recover_memory_nested.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_REV_CORE_RECOVER_MEMORY_NESTED_HPP
2 #define STAN_MATH_REV_CORE_RECOVER_MEMORY_NESTED_HPP
3 
7 #include <stdexcept>
8 
9 namespace stan {
10  namespace math {
11 
20  static inline void recover_memory_nested() {
21  if (empty_nested())
22  throw std::logic_error("empty_nested() must be false"
23  " before calling recover_memory_nested()");
24 
28 
32 
35  ++i) {
37  }
41 
43  }
44 
45  }
46 }
47 #endif
static bool empty_nested()
Return true if there is no nested autodiff being executed.
void recover_nested()
recover memory back to the last start_nested call.
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 void recover_memory_nested()
Recover only the memory used for the top nested call.
static std::vector< ChainableT * > var_stack_
static std::vector< size_t > nested_var_alloc_stack_starts_

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