QuantLib
: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
ql
methods
finitedifferences
meshers
uniform1dmesher.hpp
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
Copyright (C) 2008 Andreas Gaida
5
Copyright (C) 2008 Ralph Schreyer
6
Copyright (C) 2008 Klaus Spanderen
7
8
This file is part of QuantLib, a free-software/open-source library
9
for financial quantitative analysts and developers - http://quantlib.org/
10
11
QuantLib is free software: you can redistribute it and/or modify it
12
under the terms of the QuantLib license. You should have received a
13
copy of the license along with this program; if not, please email
14
<quantlib-dev@lists.sf.net>. The license is also available online at
15
<http://quantlib.org/license.shtml>.
16
17
This program is distributed in the hope that it will be useful, but WITHOUT
18
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19
FOR A PARTICULAR PURPOSE. See the license for more details.
20
*/
21
26
#ifndef quantlib_fdm_uniform_1d_mesher_hpp
27
#define quantlib_fdm_uniform_1d_mesher_hpp
28
29
#include <ql/methods/finitedifferences/meshers/fdm1dmesher.hpp>
30
#include <ql/errors.hpp>
31
#include <ql/utilities/null.hpp>
32
33
namespace
QuantLib
{
34
35
class
Uniform1dMesher
:
public
Fdm1dMesher
{
36
public
:
37
Uniform1dMesher
(
Real
start,
Real
end,
Size
size
)
38
:
Fdm1dMesher
(
size
) {
39
QL_REQUIRE(end > start,
"end must be large than start"
);
40
41
const
Real
dx = (end-start)/(
size
-1);
42
43
for
(
Size
i=0; i <
size
-1; ++i) {
44
locations_
[i] = start + i*dx;
45
dplus_
[i] =
dminus_
[i+1] = dx;
46
}
47
48
locations_
.back() = end;
49
dplus_
.back() =
dminus_
.front() =
Null<Real>
();
50
}
51
};
52
}
53
54
#endif
QuantLib::Fdm1dMesher
Definition:
fdm1dmesher.hpp:34
QuantLib::Fdm1dMesher::locations_
std::vector< Real > locations_
Definition:
fdm1dmesher.hpp:47
QuantLib::Fdm1dMesher::dplus_
std::vector< Real > dplus_
Definition:
fdm1dmesher.hpp:48
QuantLib::Fdm1dMesher::size
Size size() const
Definition:
fdm1dmesher.hpp:40
QuantLib::Fdm1dMesher::dminus_
std::vector< Real > dminus_
Definition:
fdm1dmesher.hpp:48
QuantLib::Null
template class providing a null value for a given type.
Definition:
null.hpp:76
QuantLib::Uniform1dMesher
Definition:
uniform1dmesher.hpp:35
QuantLib::Uniform1dMesher::Uniform1dMesher
Uniform1dMesher(Real start, Real end, Size size)
Definition:
uniform1dmesher.hpp:37
QuantLib::Real
QL_REAL Real
real number
Definition:
types.hpp:50
QuantLib::Size
std::size_t Size
size of a container
Definition:
types.hpp:58
QuantLib
Definition:
any.hpp:35
Generated by
Doxygen
1.9.5