36#ifndef quantlib_brownian_bridge_hpp
37#define quantlib_brownian_bridge_hpp
80 const std::vector<Time>&
times()
const {
return t_; }
105 template <
class RandomAccessIterator1,
106 class RandomAccessIterator2>
108 RandomAccessIterator1 end,
109 RandomAccessIterator2 output)
const {
112 "incompatible sequence size");
133 output[i] -= output[i-1];
141 std::vector<Time>
t_;
Builds Wiener process paths using Gaussian variates.
const std::vector< Size > & rightIndex() const
std::vector< Size > leftIndex_
const std::vector< Real > & leftWeight() const
const std::vector< Size > & bridgeIndex() const
const std::vector< Size > & leftIndex() const
std::vector< Real > sqrtdt_
void transform(RandomAccessIterator1 begin, RandomAccessIterator1 end, RandomAccessIterator2 output) const
Brownian-bridge generator function.
std::vector< Size > rightIndex_
const std::vector< Real > & stdDeviation() const
std::vector< Real > stdDev_
std::vector< Real > rightWeight_
const std::vector< Time > & times() const
std::vector< Size > bridgeIndex_
std::vector< Real > leftWeight_
const std::vector< Real > & rightWeight() const
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
std::size_t Size
size of a container
single factor random walk