00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #ifndef MakeFractBrownianPath_h__
00016 #define MakeFractBrownianPath_h__
00017
00018
00019 #include "FractBrownianPath.h"
00020 #include "Path.h"
00021 #include <memory>
00022 #include <functional>
00023
00024
00025 template <typename my_alg_type>
00026 Path<my_alg_type> MakeFractBrownianPath(const double H=0.8)
00027 {
00028 std::tr1::shared_ptr<const FractBrownianPath<my_alg_type> > p(new FractBrownianPath<my_alg_type>(H));
00029 return Path<my_alg_type>(p);
00030 };
00031
00032 template <typename my_alg_type>
00033 Path<my_alg_type> MakeFractBrownianPath( NormalRandomNumberGenerator & rand, const double H=0.8 )
00034 {
00035 std::tr1::shared_ptr<const FractBrownianPath<my_alg_type> > p(new FractBrownianPath<my_alg_type>(rand,H));
00036 return Path<my_alg_type>(p);
00037 };
00038
00039 #endif // MakeFractBrownianPath_h__