diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/yap/example/autodiff_library/Stack.cpp | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/yap/example/autodiff_library/Stack.cpp')
-rw-r--r-- | src/boost/libs/yap/example/autodiff_library/Stack.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/boost/libs/yap/example/autodiff_library/Stack.cpp b/src/boost/libs/yap/example/autodiff_library/Stack.cpp new file mode 100644 index 000000000..f0e69f84a --- /dev/null +++ b/src/boost/libs/yap/example/autodiff_library/Stack.cpp @@ -0,0 +1,58 @@ +/* + * Stack.cpp + * + * Created on: 15 Apr 2013 + * Author: s0965328 + */ + + +#include <cstddef> +#include <math.h> +#include <cassert> + +#include "Stack.h" + +namespace AutoDiff { + + +Stack* Stack::vals = NULL; +Stack* Stack::diff = NULL; + +Stack::Stack() +{ +} + +Stack::~Stack() { + this->clear(); +} + + +double Stack::pop_back() +{ + assert(this->lifo.size()!=0); + double v = this->lifo.top(); + lifo.pop(); + return v; +} +void Stack::push_back(double& v) +{ + assert(!isnan(v)); + this->lifo.push(v); +} +double& Stack::peek() +{ + return this->lifo.top(); +} +unsigned int Stack::size() +{ + return this->lifo.size(); +} + +void Stack::clear() +{ + while(!this->lifo.empty()) + { + this->lifo.pop(); + } +} +} |