22#include <ql/methods/finitedifferences/operators/fdmlinearoplayout.hpp>
23#include <ql/methods/finitedifferences/meshers/uniformgridmesher.hpp>
28 const ext::shared_ptr<FdmLinearOpLayout> & layout,
29 const std::vector<std::pair<Real, Real> > & boundaries)
31 dx_ (new
Real[layout->dim().size()]),
32 locations_(layout->dim().size()) {
34 QL_REQUIRE(boundaries.size() ==
layout->dim().size(),
35 "inconsistent boundaries given");
37 for (
Size i=0; i <
layout->dim().size(); ++i) {
38 dx_[i] = (boundaries[i].second - boundaries[i].first)
51 for (
const auto& iter : *
layout_) {
52 retVal[iter.index()] =
locations_[d][iter.coordinates()[d]];
1-D array used in linear algebra.
const ext::shared_ptr< FdmLinearOpLayout > layout_
const ext::shared_ptr< FdmLinearOpLayout > & layout() const
std::size_t Size
size of a container