All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
autodiffstackstorage.hpp
Go to the documentation of this file.
#ifndef STAN_MATH_REV_CORE_AUTODIFFSTACKSTORAGE_HPP
#define STAN_MATH_REV_CORE_AUTODIFFSTACKSTORAGE_HPP
#include <stan/math/memory/stack_alloc.hpp>
#include <vector>
namespace stan {
namespace math {
template<typename ChainableT,
typename ChainableAllocT>
struct AutodiffStackStorage {
static std::vector<ChainableT*> var_stack_;
static std::vector<ChainableT*> var_nochain_stack_;
static std::vector<ChainableAllocT*> var_alloc_stack_;
static stack_alloc memalloc_;
// nested positions
static std::vector<size_t> nested_var_stack_sizes_;
static std::vector<size_t> nested_var_nochain_stack_sizes_;
static std::vector<size_t> nested_var_alloc_stack_starts_;
};
template<typename ChainableT, typename ChainableAllocT>
std::vector<ChainableT*>
AutodiffStackStorage<ChainableT, ChainableAllocT>::var_stack_;
template<typename ChainableT, typename ChainableAllocT>
std::vector<ChainableT*>
AutodiffStackStorage<ChainableT, ChainableAllocT>::var_nochain_stack_;
template<typename ChainableT, typename ChainableAllocT>
std::vector<ChainableAllocT*>
AutodiffStackStorage<ChainableT, ChainableAllocT>::var_alloc_stack_;
template<typename ChainableT, typename ChainableAllocT>
stack_alloc
AutodiffStackStorage<ChainableT, ChainableAllocT>::memalloc_;
template<typename ChainableT, typename ChainableAllocT>
std::vector<size_t>
AutodiffStackStorage<ChainableT, ChainableAllocT>::nested_var_stack_sizes_;
template<typename ChainableT, typename ChainableAllocT>
std::vector<size_t>
AutodiffStackStorage<ChainableT, ChainableAllocT>
::nested_var_nochain_stack_sizes_;
template<typename ChainableT, typename ChainableAllocT>
std::vector<size_t>
AutodiffStackStorage<ChainableT, ChainableAllocT>
::nested_var_alloc_stack_starts_;
}
}
#endif
stan::math::AutodiffStackStorage::memalloc_
static stack_alloc memalloc_
Definition: autodiffstackstorage.hpp:16
stan::math::AutodiffStackStorage::var_alloc_stack_
static std::vector< ChainableAllocT * > var_alloc_stack_
Definition: autodiffstackstorage.hpp:15
stan::math::AutodiffStackStorage::var_nochain_stack_
static std::vector< ChainableT * > var_nochain_stack_
Definition: autodiffstackstorage.hpp:14
stan::math::AutodiffStackStorage::nested_var_nochain_stack_sizes_
static std::vector< size_t > nested_var_nochain_stack_sizes_
Definition: autodiffstackstorage.hpp:20
stan::math::AutodiffStackStorage::nested_var_stack_sizes_
static std::vector< size_t > nested_var_stack_sizes_
Definition: autodiffstackstorage.hpp:19
stack_alloc.hpp
stan::math::AutodiffStackStorage
Definition: autodiffstackstorage.hpp:12
stan::math::AutodiffStackStorage::var_stack_
static std::vector< ChainableT * > var_stack_
Definition: autodiffstackstorage.hpp:13
stan::math::stack_alloc
An instance of this class provides a memory pool through which blocks of raw memory may be allocated ...
Definition: stack_alloc.hpp:78
stan::math::AutodiffStackStorage::nested_var_alloc_stack_starts_
static std::vector< size_t > nested_var_alloc_stack_starts_
Definition: autodiffstackstorage.hpp:21

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