pax_global_header00006660000000000000000000000064150731161330014512gustar00rootroot0000000000000052 comment=06edddbdb85f006c43a449b5fc846a00c67477f3 QuantLib-1.40/000077500000000000000000000000001507311613300131555ustar00rootroot00000000000000QuantLib-1.40/.appveyor.yml000066400000000000000000000003221507311613300156200ustar00rootroot00000000000000image: Visual Studio 2017 platform: x64 configuration: Release version: ci.{build} before_build: - COPY .ci\VS2017.props .\Build.props build: parallel: false project: QuantLib.sln verbosity: normal QuantLib-1.40/.ci/000077500000000000000000000000001507311613300136265ustar00rootroot00000000000000QuantLib-1.40/.ci/Unity.props000066400000000000000000000002551507311613300160250ustar00rootroot00000000000000 true QuantLib-1.40/.ci/VS2017.props000066400000000000000000000014711507311613300155600ustar00rootroot00000000000000 false C:\Libraries\boost_1_69_0;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) Disabled C:\Libraries\boost_1_69_0\lib64-msvc-14.1;%(AdditionalLibraryDirectories) QuantLib-1.40/.ci/VS2019.alt.props000066400000000000000000000013561507311613300163430ustar00rootroot00000000000000 C:\local\boost;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) true stdcpp17 _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) QuantLib-1.40/.ci/VS2019.props000066400000000000000000000010741507311613300155610ustar00rootroot00000000000000 C:\local\boost;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) true QuantLib-1.40/.ci/VS2022.alt.props000066400000000000000000000013561507311613300163350ustar00rootroot00000000000000 C:\local\boost;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) true stdcpp17 _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) QuantLib-1.40/.ci/VS2022.props000066400000000000000000000010741507311613300155530ustar00rootroot00000000000000 C:\local\boost;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) true QuantLib-1.40/.ci/userconfig2019.alt.hpp000066400000000000000000000102701507311613300175760ustar00rootroot00000000000000/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* Copyright (C) 2004, 2011 Ferdinando Ametrano Copyright (C) 2004, 2005 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef quantlib_config_hpp #define quantlib_config_hpp /*************************************************************** User configuration section: modify the following definitions to suit your preferences. Do not modify this file if you are using a Linux/Unix system: it will not be read by the compiler. The definitions below will be provided by running ./configure instead. ****************************************************************/ /* Define this if error messages should include current function information. */ #ifndef QL_ERROR_FUNCTIONS # define QL_ERROR_FUNCTIONS #endif /* Define this if error messages should include file and line information. */ #ifndef QL_ERROR_LINES # define QL_ERROR_LINES #endif /* Define this if tracing messages should be allowed (whether they are actually emitted will depend on run-time settings.) */ #ifndef QL_ENABLE_TRACING # define QL_ENABLE_TRACING #endif /* Define this if extra safety checks should be performed. This can degrade performance. */ #ifndef QL_EXTRA_SAFETY_CHECKS # define QL_EXTRA_SAFETY_CHECKS #endif /* Define this to use indexed coupons instead of par coupons in floating legs as the default in 'bool IborCoupon::Settings::usingAtParCoupons();'. */ #ifndef QL_USE_INDEXED_COUPON # define QL_USE_INDEXED_COUPON #endif /* Define this to have singletons return different instances for different threads; in particular, this means that the evaluation date, the stored index fixings and any other settings will be per-thread. */ #ifndef QL_ENABLE_SESSIONS # define QL_ENABLE_SESSIONS #endif /* Define this to enable the thread-safe observer pattern. You should enable it if you want to use QuantLib via the SWIG layer within the JVM or .NET eco system or any environment with an async garbage collector */ #ifndef QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN # define QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN #endif /* Define this to enable a date resolution down to microseconds and allow for accurate intraday pricing. */ #ifndef QL_HIGH_RESOLUTION_DATE # define QL_HIGH_RESOLUTION_DATE #endif /* Define this if you want to throw an exception when a notification loop is detected. Enabling this option is recommended but might cause existing code to throw. */ #ifndef QL_THROW_IN_CYCLES # define QL_THROW_IN_CYCLES #endif /* Undefine this if you want lazy objects to forward all notifications instead of just the first. Disabling this option is safer in some cases but can be a lot slower. */ #ifndef QL_FASTER_LAZY_OBJECTS //# define QL_FASTER_LAZY_OBJECTS #endif /* Define this to use std::any instead of boost::any. */ #ifndef QL_USE_STD_ANY //# define QL_USE_STD_ANY #endif /* Define this to use std::optional instead of boost::optional. */ #ifndef QL_USE_STD_OPTIONAL //# define QL_USE_STD_OPTIONAL #endif /* Define this to use standard smart pointers instead of Boost ones. Note that std::shared_ptr does not check access and can cause segmentation faults. */ #ifndef QL_USE_STD_SHARED_PTR # define QL_USE_STD_SHARED_PTR #endif /* Define this to enable the implementation of Null as template functions. */ #ifndef QL_NULL_AS_FUNCTIONS # define QL_NULL_AS_FUNCTIONS #endif /* Define this to enable the parallel unit test runner */ #ifndef QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER //# define QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER #endif #endif QuantLib-1.40/.ci/userconfig2022.alt.hpp000066400000000000000000000102701507311613300175700ustar00rootroot00000000000000/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* Copyright (C) 2004, 2011 Ferdinando Ametrano Copyright (C) 2004, 2005 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef quantlib_config_hpp #define quantlib_config_hpp /*************************************************************** User configuration section: modify the following definitions to suit your preferences. Do not modify this file if you are using a Linux/Unix system: it will not be read by the compiler. The definitions below will be provided by running ./configure instead. ****************************************************************/ /* Define this if error messages should include current function information. */ #ifndef QL_ERROR_FUNCTIONS # define QL_ERROR_FUNCTIONS #endif /* Define this if error messages should include file and line information. */ #ifndef QL_ERROR_LINES # define QL_ERROR_LINES #endif /* Define this if tracing messages should be allowed (whether they are actually emitted will depend on run-time settings.) */ #ifndef QL_ENABLE_TRACING # define QL_ENABLE_TRACING #endif /* Define this if extra safety checks should be performed. This can degrade performance. */ #ifndef QL_EXTRA_SAFETY_CHECKS # define QL_EXTRA_SAFETY_CHECKS #endif /* Define this to use indexed coupons instead of par coupons in floating legs as the default in 'bool IborCoupon::Settings::usingAtParCoupons();'. */ #ifndef QL_USE_INDEXED_COUPON # define QL_USE_INDEXED_COUPON #endif /* Define this to have singletons return different instances for different threads; in particular, this means that the evaluation date, the stored index fixings and any other settings will be per-thread. */ #ifndef QL_ENABLE_SESSIONS # define QL_ENABLE_SESSIONS #endif /* Define this to enable the thread-safe observer pattern. You should enable it if you want to use QuantLib via the SWIG layer within the JVM or .NET eco system or any environment with an async garbage collector */ #ifndef QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN # define QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN #endif /* Define this to enable a date resolution down to microseconds and allow for accurate intraday pricing. */ #ifndef QL_HIGH_RESOLUTION_DATE # define QL_HIGH_RESOLUTION_DATE #endif /* Define this if you want to throw an exception when a notification loop is detected. Enabling this option is recommended but might cause existing code to throw. */ #ifndef QL_THROW_IN_CYCLES # define QL_THROW_IN_CYCLES #endif /* Undefine this if you want lazy objects to forward all notifications instead of just the first. Disabling this option is safer in some cases but can be a lot slower. */ #ifndef QL_FASTER_LAZY_OBJECTS //# define QL_FASTER_LAZY_OBJECTS #endif /* Define this to use std::any instead of boost::any. */ #ifndef QL_USE_STD_ANY //# define QL_USE_STD_ANY #endif /* Define this to use std::optional instead of boost::optional. */ #ifndef QL_USE_STD_OPTIONAL //# define QL_USE_STD_OPTIONAL #endif /* Define this to use standard smart pointers instead of Boost ones. Note that std::shared_ptr does not check access and can cause segmentation faults. */ #ifndef QL_USE_STD_SHARED_PTR # define QL_USE_STD_SHARED_PTR #endif /* Define this to enable the implementation of Null as template functions. */ #ifndef QL_NULL_AS_FUNCTIONS # define QL_NULL_AS_FUNCTIONS #endif /* Define this to enable the parallel unit test runner */ #ifndef QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER //# define QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER #endif #endif QuantLib-1.40/.clang-format000066400000000000000000000021431507311613300155300ustar00rootroot00000000000000--- Language: Cpp Standard: c++17 # The following is close to the style we've been using all these years # without formalizing it. Formatting won't be enforced, but this file # can help if you want to use the general feel of the library. # General appearance: BasedOnStyle: LLVM IndentWidth: 4 ColumnLimit: 100 NamespaceIndentation: All MaxEmptyLinesToKeep: 2 FixNamespaceComments: false # Function declarations: BinPackParameters: false AllowShortFunctionsOnASingleLine: Inline AlwaysBreakTemplateDeclarations: true # T& x, not T &x: DerivePointerAlignment: false PointerAlignment: Left # QuantLib headers first, then Boost, then std SortIncludes: true IncludeBlocks: Merge IncludeCategories: - Regex: '^"' Priority: 1 - Regex: '^ -*, bugprone-*, -bugprone-assignment-in-if-condition, -bugprone-branch-clone, -bugprone-crtp-constructor-accessibility, -bugprone-easily-swappable-parameters, -bugprone-empty-catch, -bugprone-implicit-widening-of-multiplication-result, -bugprone-macro-parentheses, -bugprone-narrowing-conversions, -bugprone-non-zero-enum-to-bool-conversion, -bugprone-suspicious-include, clang-analyzer-*, -clang-analyzer-core.UndefinedBinaryOperatorResult, -clang-analyzer-core.uninitialized.Assign, -clang-analyzer-optin.cplusplus.UninitializedObject, -clang-analyzer-optin.performance.Padding, -clang-analyzer-security.FloatLoopCounter, cppcoreguidelines-*, -cppcoreguidelines-avoid-c-arrays, -cppcoreguidelines-avoid-const-or-ref-data-members, -cppcoreguidelines-avoid-do-while, -cppcoreguidelines-avoid-goto, -cppcoreguidelines-avoid-magic-numbers, -cppcoreguidelines-avoid-non-const-global-variables, -cppcoreguidelines-init-variables, -cppcoreguidelines-macro-to-enum, -cppcoreguidelines-macro-usage, -cppcoreguidelines-narrowing-conversions, -cppcoreguidelines-non-private-member-variables-in-classes, -cppcoreguidelines-owning-memory, -cppcoreguidelines-prefer-member-initializer, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-constant-array-index, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -cppcoreguidelines-pro-type-const-cast, -cppcoreguidelines-pro-type-member-init, -cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-use-default-member-init, misc-*, -misc-confusable-identifiers, -misc-const-correctness, -misc-include-cleaner, -misc-no-recursion, -misc-non-private-member-variables-in-classes, -misc-use-anonymous-namespace, -misc-use-internal-linkage, -misc-unused-parameters, modernize-*, -modernize-avoid-c-arrays, -modernize-macro-to-enum, -modernize-return-braced-init-list, -modernize-use-trailing-return-type, -modernize-use-using, -modernize-use-nodiscard, performance-*, -performance-avoid-endl, -performance-enum-size, readability-*, -readability-avoid-nested-conditional-operator, -readability-braces-around-statements, -readability-const-return-type, -readability-convert-member-functions-to-static, -readability-else-after-return, -readability-enum-initial-value, -readability-function-cognitive-complexity, -readability-identifier-length, -readability-inconsistent-declaration-parameter-name, -readability-isolate-declaration, -readability-magic-numbers, -readability-make-member-function-const, -readability-math-missing-parentheses, -readability-named-parameter, -readability-redundant-casting, -readability-redundant-declaration, -readability-simplify-boolean-expr, -readability-suspicious-call-argument, -readability-use-anyofallof, -readability-use-std-min-max, HeaderFilterRegex: '.*' FormatStyle: none CheckOptions: - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor value: 1 - key: modernize-make-shared.MakeSmartPtrFunction value: ext::make_shared - key: modernize-make-shared.MakeSmartPtrFunctionHeader value: - key: modernize-use-default-member-init.UseAssignment value: 1 ... QuantLib-1.40/.codecov.yml000066400000000000000000000015411507311613300154010ustar00rootroot00000000000000coverage: precision: 1 # We put red at 50 to have a chance at some non-red build. # I would be happy with 80 right now, so that's where the target is. range: 50...80 ignore: - "test-suite" - "Examples" # The process to get a correct report is a bit fiddly. # This worked in the past, and is added here for reference: # # - clone the repo and mount it in a recent quantlib-devenv image; # - run the following: # # apt update && apt install -y lcov curl git # mkdir build # cd build # CXXFLAGS='-O1 -fprofile-arcs -ftest-coverage' LDFLAGS='-lgcov' cmake .. # CXXFLAGS='-O1 -fprofile-arcs -ftest-coverage' LDFLAGS='-lgcov' make -j 4 # ./test-suite/quantlib-test-suite --log_level=message # bash <(curl -s https://codecov.io/bash) -t @cc_token # # where the file `cc_token` contains the Codecov upload token. QuantLib-1.40/.github/000077500000000000000000000000001507311613300145155ustar00rootroot00000000000000QuantLib-1.40/.github/boring-cyborg.yml000066400000000000000000000011451507311613300200040ustar00rootroot00000000000000 # Comment to be posted to welcome users when they open their first PR firstPRWelcomeComment: > Thanks for opening this pull request! It might take a while before we look at it, so don't worry if there seems to be no feedback. We'll get to it. # Comment to be posted to congratulate user on their first merged PR firstPRMergeComment: > Congratulations on your first merged pull request! # Comment to be posted to on first time issues firstIssueWelcomeComment: > Thanks for posting! It might take a while before we look at your issue, so don't worry if there seems to be no feedback. We'll get to it. QuantLib-1.40/.github/dependabot.yml000066400000000000000000000002611507311613300173440ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: # Check for updates to GitHub Actions every weekday interval: "weekly" QuantLib-1.40/.github/workflows/000077500000000000000000000000001507311613300165525ustar00rootroot00000000000000QuantLib-1.40/.github/workflows/cmake-latest-runners.yml000066400000000000000000000105741507311613300233500ustar00rootroot00000000000000name: CMake build for the latest runners and C++ standards on: schedule: # At 02:35 on Monday - cron: '35 2 * * 1' workflow_dispatch: jobs: cmake-build-and-test: strategy: fail-fast: false matrix: settings: [ { os: macos-latest, cc: clang, cxx: clang++ }, { os: ubuntu-latest, cc: clang, cxx: clang++ }, { os: ubuntu-latest, cc: gcc, cxx: g++ }, { os: windows-latest, cc: cl, cxx: cl } ##### This is the full set of currently available runners and compilers. ##### # { os: macos-13, cc: clang, cxx: clang++ }, # { os: macos-14, cc: clang, cxx: clang++ }, # { os: macos-15, cc: clang, cxx: clang++ }, # # { os: ubuntu-22.04, cc: clang-13, cxx: clang++-13 }, # { os: ubuntu-22.04, cc: clang-14, cxx: clang++-14 }, # { os: ubuntu-22.04, cc: clang-15, cxx: clang++-15 }, # # { os: ubuntu-22.04, cc: gcc-10, cxx: g++-10 }, # { os: ubuntu-22.04, cc: gcc-11, cxx: g++-11 }, # { os: ubuntu-22.04, cc: gcc-12, cxx: g++-12 }, # # { os: ubuntu-24.04, cc: clang-16, cxx: clang++-16 }, # { os: ubuntu-24.04, cc: clang-17, cxx: clang++-17 }, # { os: ubuntu-24.04, cc: clang-18, cxx: clang++-18 }, # # { os: ubuntu-24.04, cc: gcc-12, cxx: g++-12 }, # { os: ubuntu-24.04, cc: gcc-13, cxx: g++-13 }, # { os: ubuntu-24.04, cc: gcc-14, cxx: g++-14 }, # # { os: windows-2022, cc: cl, cxx: cl }, # { os: windows-2025, cc: cl, cxx: cl } ] cxx-standard: [ 17, 20, 23 ] cmake-build-type: [ release ] runs-on: ${{ matrix.settings.os }} steps: - uses: actions/checkout@v5 - name: Determine ccache variant shell: bash run: | echo "CMAKE_CXX_COMPILER_LAUNCHER=${{ ( (runner.os == 'Windows') && 'sccache' ) || 'ccache' }}" >> $GITHUB_ENV - name: Setup CCache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-latest-${{ inputs.os }}-${{ inputs.cxx }}-${{ inputs.cxx-standard }} restore-keys: | cmake-latest-${{ inputs.os }}-${{ inputs.cxx }}-${{ inputs.cxx-standard }} cmake-latest-${{ inputs.os }}-${{ inputs.cxx }} cmake-latest-${{ inputs.os }} variant: ${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} - name: Setup Linux if: runner.os == 'Linux' shell: bash run: | sudo apt-get update sudo apt-get install -y ccache ninja-build eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" brew update brew install boost echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH - name: Setup macOS if: runner.os == 'macOS' shell: bash run: | HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install ninja boost echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV - name: Setup Windows if: runner.os == 'Windows' shell: pwsh run: | $BoostUri = "https://downloads.sourceforge.net/project/boost/boost-binaries/1.89.0/boost_1_89_0-msvc-14.3-64.exe" Start-BitsTransfer -Source $BoostUri -Destination $env:RUNNER_TEMP\boost.exe Start-Process -Wait -FilePath "$env:RUNNER_TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=$env:RUNNER_TEMP\boost" choco install -y ninja Write "Boost_DIR=$env:RUNNER_TEMP\boost\lib64-msvc-14.3\cmake\Boost-1.89.0" >> $env:GITHUB_ENV - name: Set up Visual Studio shell on Windows if: runner.os == 'Windows' uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Configure CMake and build env: CC: ${{ matrix.settings.cc }} CXX: ${{ matrix.settings.cxx }} run: | cmake --version cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.cmake-build-type }} -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} -DQL_COMPILE_WARNING_AS_ERROR=ON -L cmake --build build --verbose - name: Run the test-suite run: | ./build/test-suite/quantlib-test-suite -l message QuantLib-1.40/.github/workflows/cmake.yml000066400000000000000000000173011507311613300203570ustar00rootroot00000000000000name: CMake build on: push: branches: - '**' pull_request: jobs: cmake-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev ccache ninja-build - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-linux-ci-build-${{ github.ref }} restore-keys: | cmake-linux-ci-build-${{ github.ref }} cmake-linux-ci-build-refs/heads/master cmake-linux-ci-build- - name: Compile run: | mkdir build cd build cmake .. -GNinja -DBOOST_ROOT=/usr -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -L cat ql/config.hpp cmake --build . --verbose sudo cmake --install . sudo ldconfig - name: Test run: | quantlib-test-suite --log_level=message - name: Run benchmark run: | quantlib-benchmark --size=1 cmake-linux-with-options: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-all-dev ccache ninja-build - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-linux-ci-opts-${{ github.ref }} restore-keys: | cmake-linux-ci-opts-${{ github.ref }} cmake-linux-ci-opts-refs/heads/master cmake-linux-ci-opts- - name: Compile run: | cmake --preset linux-ci-build-with-nonstandard-options -L cd build/linux-ci-build-with-nonstandard-options cat ql/config.hpp cmake --build . --verbose sudo cmake --build . --target install - name: Test run: | quantlib-test-suite --log_level=message cmake-win: runs-on: windows-2022 steps: - uses: actions/checkout@v5 - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-windows-ci-build-${{ github.ref }} restore-keys: | cmake-windows-ci-build-${{ github.ref }} cmake-windows-ci-build-refs/heads/master cmake-windows-ci-build- variant: sccache - name: Setup run: | $Url = "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_89_0" -NewName "boost" $Url = "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\ninja-win.zip") Expand-Archive -Path "$RUNNER_TEMP\ninja-win.zip" -DestinationPath C:\local\ninja Add-Content $env:GITHUB_PATH "C:\local\ninja" - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Compile env: BOOST_ROOT: C:\local\boost shell: cmd run: | mkdir build cd build cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -L type ql\config.hpp cmake --build . --verbose cmake --install . dir ql\*.lib - name: Test run: | & "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message cmake-win-dynamic-runtime: runs-on: windows-2022 steps: - uses: actions/checkout@v5 - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-windows-ci-dyn-build-${{ github.ref }} restore-keys: | cmake-windows-ci-dyn-build-${{ github.ref }} cmake-windows-ci-dyn-build-refs/heads/master cmake-windows-ci-dyn-build- variant: sccache - name: Setup run: | $Url = "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_89_0" -NewName "boost" $Url = "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\ninja-win.zip") Expand-Archive -Path "$RUNNER_TEMP\ninja-win.zip" -DestinationPath C:\local\ninja Add-Content $env:GITHUB_PATH "C:\local\ninja" - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Compile env: BOOST_ROOT: C:\local\boost shell: cmd run: | mkdir build cd build cmake .. -GNinja -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -L type ql\config.hpp cmake --build . --verbose cmake --install . dir ql\*.lib - name: Test run: | & "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message cmake-win-with-options: runs-on: windows-2022 steps: - uses: actions/checkout@v5 - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-windows-ci-opts-${{ github.ref }} restore-keys: | cmake-windows-ci-opts-${{ github.ref }} cmake-windows-ci-opts-refs/heads/master cmake-windows-ci-opts- variant: sccache - name: Setup run: | $Url = "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_89_0" -NewName "boost" $Url = "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\ninja-win.zip") Expand-Archive -Path "$RUNNER_TEMP\ninja-win.zip" -DestinationPath C:\local\ninja Add-Content $env:GITHUB_PATH "C:\local\ninja" - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Compile env: BOOST_ROOT: C:\local\boost shell: cmd run: | cmake --preset windows-ci-build-with-nonstandard-options -L cd build/windows-ci-build-with-nonstandard-options type ql\config.hpp cmake --build . --verbose cmake --build . --target install - name: Test run: | & "C:\Program Files (x86)\QuantLib\bin\quantlib-test-suite" --log_level=message cmake-macos: runs-on: macos-latest steps: - uses: actions/checkout@v5 - name: Setup env: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 run: | brew install boost ccache ninja - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: cmake-macos-ci-${{ github.ref }} restore-keys: | cmake-macos-ci-${{ github.ref }} cmake-macos-ci-refs/heads/master cmake-macos-ci- - name: Compile run: | mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DQL_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -GNinja -L cat ql/config.hpp cmake --build . --verbose sudo cmake --install . - name: Test run: | DYLD_LIBRARY_PATH=/usr/local/lib quantlib-test-suite --log_level=message QuantLib-1.40/.github/workflows/codeql-analysis.yml000066400000000000000000000027161507311613300223730ustar00rootroot00000000000000# For most projects, this workflow file will not need changing; you simply need # to commit it to your repository. # # You may wish to alter this file to override the set of languages analyzed, # or to provide custom queries or build logic. name: "CodeQL" on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: analyze: name: CodeQL analysis runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: cpp # Set up build environment - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild uses: github/codeql-action/autobuild@v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines # and modify them (or add more) to build your code if your project # uses a compiled language #- run: | # make bootstrap # make release - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 QuantLib-1.40/.github/workflows/copyrights.yml000066400000000000000000000011661507311613300214740ustar00rootroot00000000000000name: Update copyright list on: push: branches-ignore: - 'dependabot/**' jobs: check-copyrights: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | ./tools/check_copyrights.sh - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update-copyright-list-${{ github.ref_name }} delete-branch: true commit-message: 'Update copyright list in license' title: 'Update copyright list in license' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/coveralls.yml000066400000000000000000000026001507311613300212650ustar00rootroot00000000000000name: Coverage report on: push: branches: - master pull_request: workflow_dispatch: jobs: coverage: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y lcov libboost-dev - name: Compile run: | ./autogen.sh ./configure --disable-shared CXXFLAGS='-O1 -fprofile-arcs -ftest-coverage' LDFLAGS='-lgcov' make -j 4 - name: Capture baseline run: | mkdir -p coverage tmp lcov --no-external --capture --initial --directory . --output-file ./tmp/lcov_base.info - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make -C Examples check-examples - name: Capture coverage run: | lcov --no-external --capture --directory . --output-file ./tmp/lcov_run.info lcov --add-tracefile ./tmp/lcov_base.info --add-tracefile ./tmp/lcov_run.info --output-file ./tmp/lcov_total.info lcov --remove ./tmp/lcov_total.info "$PWD/Examples/*" "$PWD/test-suite/*" --output-file ./coverage/lcov.info - name: Upload coverage to Coveralls uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} file: ./coverage/lcov.info QuantLib-1.40/.github/workflows/devenv-images.yml000066400000000000000000000032621507311613300220320ustar00rootroot00000000000000name: Build quantlib-devenv Docker images on: workflow_dispatch: inputs: boostVersion: description: 'Boost version' required: true env: ROLLING: plucky jobs: docker-images: runs-on: ubuntu-latest strategy: matrix: tag: [plucky, questing] steps: - uses: actions/checkout@v5 - name: Build CI images working-directory: dockerfiles run: | docker build -f ci.Dockerfile \ --build-arg tag=${{ matrix.tag }} \ --build-arg boost_version=${{ github.event.inputs.boostVersion }} \ --build-arg boost_dir=boost_$(echo "${{ github.event.inputs.boostVersion }}" | sed "s/\./_/g") \ -t ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} . docker tag ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }}-${{ github.event.inputs.boostVersion }} if test "${{ matrix.tag }}" = "$ROLLING" ; then docker tag ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} ghcr.io/lballabio/quantlib-devenv:rolling fi - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GHCR_PAT }} - name: Push Docker images run: | docker push ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }}-${{ github.event.inputs.boostVersion }} docker push ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} if test "${{ matrix.tag }}" = "$ROLLING" ; then docker push ghcr.io/lballabio/quantlib-devenv:rolling fi QuantLib-1.40/.github/workflows/doxygen.yml000066400000000000000000000012601507311613300207510ustar00rootroot00000000000000name: Check doc generation on: push: branches: - '**' pull_request: jobs: docs: runs-on: macos-latest steps: - uses: actions/checkout@v5 - name: Setup env: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 run: | brew install automake autoconf libtool boost doxygen graphviz ./autogen.sh ./configure --with-boost-include=$(brew --prefix)/include - name: Doxygen version run: | doxygen --version - name: Check run: | make docs header-docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | ./tools/check_all_header_docs.sh QuantLib-1.40/.github/workflows/filelists.yml000066400000000000000000000007501507311613300212750ustar00rootroot00000000000000name: Check CMake file list and VC++ projects on: push: branches: - '**' pull_request: jobs: filelists: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev - name: Configure run: | ./autogen.sh ./configure - name: Check run: | ./tools/check_filelists.sh QuantLib-1.40/.github/workflows/generated-headers.yml000066400000000000000000000017231507311613300226470ustar00rootroot00000000000000name: Update generated headers on: push: branches-ignore: - 'dependabot/**' jobs: generate-headers: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev - name: Configure run: | ./autogen.sh ./configure - name: Update headers run: | find ql -name *.am | xargs touch make dist rm QuantLib-*.tar.gz - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: update-generated-headers-${{ github.ref_name }} delete-branch: true commit-message: 'Update generated headers' title: 'Update generated headers' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/headers.yml000066400000000000000000000012641507311613300207130ustar00rootroot00000000000000name: Compile single headers on: push: branches: - '**' pull_request: jobs: headers: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev ccache - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: single-headers-${{ github.ref }} restore-keys: | single-headers-${{ github.ref }} single-headers-refs/heads/master single-headers- - name: Check env: CXX: ccache g++ run: | ./tools/check_all_headers.sh QuantLib-1.40/.github/workflows/includes.yml000066400000000000000000000014541507311613300211070ustar00rootroot00000000000000name: Fix inclusions of ql headers in double quotes on: push: branches-ignore: - 'dependabot/**' jobs: check-includes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | shopt -s globstar sed -i -E -e 's|#include *"(ql/.*\.hpp)"|#include <\1>|g' **/*.[hc]pp - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: fix-include-in-quotes-${{ github.ref_name }} delete-branch: true commit-message: 'Fix inclusions of ql headers in double quotes' title: 'Fix inclusions of ql headers in double quotes' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/license-url.yml000066400000000000000000000013641507311613300215230ustar00rootroot00000000000000name: Update old license links on: push: branches-ignore: - 'dependabot/**' jobs: license-urls: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | shopt -s globstar sed -i -e 's|http://quantlib\.org/license\.shtml|https://www.quantlib.org/license.shtml|g' **/*.[hc]pp **/*.ac **/*.docs **/*.cfg **/*.sh **/*.el - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.GITHUB_TOKEN }} branch: update-license-links-${{ github.ref_name }} delete-branch: true commit-message: 'Update old license links' title: 'Update old license links' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/linux-full-tests.yml000066400000000000000000000154051507311613300225410ustar00rootroot00000000000000name: Linux build with full test matrix on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: "gcc 8.3 (Boost 1.72)" shortname: gcc8 tag: cosmic cc: gcc cxx: g++ - name: "gcc 9.3 (Boost 1.78)" shortname: gcc9 tag: focal cc: gcc cxx: g++ - name: "gcc 10.3 (Boost 1.79)" shortname: gcc10 tag: hirsute cc: gcc cxx: g++ - name: "gcc 11.4 (Boost 1.82)" shortname: gcc11 tag: jammy cc: gcc cxx: g++ - name: "gcc 12.3 (Boost 1.86)" shortname: gcc12 tag: lunar cc: gcc cxx: g++ - name: "gcc 13.3 (Boost 1.89)" shortname: gcc13 tag: noble cc: gcc cxx: g++ - name: "gcc 14.x" shortname: gcc14 tag: plucky cc: gcc cxx: g++ - name: "gcc 15.x" shortname: gcc15 tag: questing cc: gcc cxx: g++ - name: "Clang 7 (Boost 1.72)" shortname: clang7 tag: cosmic cc: clang cxx: clang++ - name: "Clang 8 (Boost 1.72)" shortname: clang8 tag: disco cc: clang cxx: clang++ - name: "Clang 9 (Boost 1.74)" shortname: clang9 tag: eoan cc: clang cxx: clang++ - name: "Clang 10 (Boost 1.78)" shortname: clang10 tag: focal cc: clang cxx: clang++ - name: "Clang 11 (Boost 1.78)" shortname: clang11 tag: groovy cc: clang cxx: clang++ - name: "Clang 12 (Boost 1.79)" shortname: clang12 tag: hirsute cc: clang cxx: clang++ - name: "Clang 13 (Boost 1.79)" shortname: clang13 tag: impish cc: clang cxx: clang++ - name: "Clang 14 (Boost 1.82)" shortname: clang14 tag: jammy cc: clang cxx: clang++ - name: "Clang 15 (Boost 1.86)" shortname: clang15 tag: lunar cc: clang cxx: clang++ - name: "Clang 16 (Boost 1.86)" shortname: clang16 tag: mantic cc: clang cxx: clang++ - name: "Clang 17 (Boost 1.84)" shortname: clang17 tag: clang-17 cc: clang cxx: clang++ - name: "Clang 18 (Boost 1.89)" shortname: clang18 tag: noble cc: clang cxx: clang++ - name: "Clang 19 (Boost 1.89)" shortname: clang19 tag: oracular cc: clang cxx: clang++ - name: "Clang 20" shortname: clang20 tag: plucky cc: clang cxx: clang++ - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" - name: "C++23 mode" shortname: c++23 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++23" - name: "C++26 mode" shortname: c++26 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++26" - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build - name: "Intraday calculations enabled" shortname: intraday tag: rolling cc: gcc cxx: g++ configureflags: --enable-intraday - name: "Throwing in cycles enabled" shortname: cycles tag: rolling cc: gcc cxx: g++ configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects - name: "Indexed coupons enabled" shortname: indexed tag: rolling cc: gcc cxx: g++ configureflags: --enable-indexed-coupons - name: "Standard Library classes enabled" shortname: stdclasses tag: rolling cc: gcc cxx: g++ configureflags: --enable-std-classes - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling cc: gcc cxx: g++ configureflags: --enable-thread-safe-observer-pattern - name: "Sessions enabled" shortname: sessions tag: rolling cc: gcc cxx: g++ configureflags: --enable-sessions - name: "OpenMP enabled" shortname: openmp tag: rolling cc: gcc cxx: g++ configureflags: --enable-openmp - name: "Parallel unit-test runner" shortname: paralleltests tag: rolling cc: gcc cxx: g++ configureflags: --enable-parallel-unit-test-runner - name: "Null as function template" shortname: nullfunctions tag: rolling cc: gcc cxx: g++ configureflags: --enable-null-as-functions container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: - uses: actions/checkout@v5 - name: Compiler version run: | ${{ matrix.cc }} --version - name: Build run: | ./autogen.sh ./configure --disable-static ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}" cat ql/config.hpp make -j 4 - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make check-examples - name: Check global header run: | echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp echo "#include " > test2.cpp make install ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` QuantLib-1.40/.github/workflows/linux-nondefault.yml000066400000000000000000000131021507311613300225660ustar00rootroot00000000000000name: Linux build with non-default configuration on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: "gcc 8.3 (Boost 1.72)" shortname: gcc8 tag: cosmic cc: gcc cxx: g++ - name: "gcc 9.3 (Boost 1.78)" shortname: gcc9 tag: focal cc: gcc cxx: g++ - name: "gcc 10.3 (Boost 1.79)" shortname: gcc10 tag: hirsute cc: gcc cxx: g++ - name: "gcc 11.4 (Boost 1.82)" shortname: gcc11 tag: jammy cc: gcc cxx: g++ - name: "gcc 12.3 (Boost 1.86)" shortname: gcc12 tag: lunar cc: gcc cxx: g++ - name: "gcc 13.3 (Boost 1.89)" shortname: gcc13 tag: noble cc: gcc cxx: g++ - name: "gcc 14.x" shortname: gcc14 tag: plucky cc: gcc cxx: g++ - name: "gcc 15.x" shortname: gcc15 tag: questing cc: gcc cxx: g++ - name: "Clang 7 (Boost 1.72)" shortname: clang7 tag: cosmic cc: clang cxx: clang++ - name: "Clang 8 (Boost 1.72)" shortname: clang8 tag: disco cc: clang cxx: clang++ - name: "Clang 9 (Boost 1.74)" shortname: clang9 tag: eoan cc: clang cxx: clang++ - name: "Clang 10 (Boost 1.78)" shortname: clang10 tag: focal cc: clang cxx: clang++ - name: "Clang 11 (Boost 1.78)" shortname: clang11 tag: groovy cc: clang cxx: clang++ - name: "Clang 12 (Boost 1.79)" shortname: clang12 tag: hirsute cc: clang cxx: clang++ - name: "Clang 13 (Boost 1.79)" shortname: clang13 tag: impish cc: clang cxx: clang++ - name: "Clang 14 (Boost 1.82)" shortname: clang14 tag: jammy cc: clang cxx: clang++ - name: "Clang 15 (Boost 1.86)" shortname: clang15 tag: lunar cc: clang cxx: clang++ - name: "Clang 16 (Boost 1.86)" shortname: clang16 tag: mantic cc: clang cxx: clang++ - name: "Clang 18 (Boost 1.89)" shortname: clang18 tag: noble cc: clang cxx: clang++ - name: "Clang 19 (Boost 1.89)" shortname: clang19 tag: oracular cc: clang cxx: clang++ - name: "Clang 20" shortname: clang20 tag: plucky cc: clang cxx: clang++ - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" - name: "C++23 mode" shortname: c++23 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++23" - name: "C++26 mode" shortname: c++26 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++26" - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build - name: "Standard Library classes enabled" shortname: stdclasses tag: rolling cc: gcc cxx: g++ configureflags: --enable-std-pointers --disable-std-any --disable-std-optional - name: "OpenMP enabled" shortname: openmp tag: rolling cc: gcc cxx: g++ configureflags: --enable-openmp container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: - uses: actions/checkout@v5 - name: Compiler version run: | ${{ matrix.cc }} --version - name: Build run: | ./autogen.sh ./configure --disable-static --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="${{ matrix.cc }}" CXX="${{ matrix.cxx }}" CPPFLAGS="-Wall -Wno-unknown-pragmas -Wno-array-bounds -Werror" CXXFLAGS="-O2 -g0 ${{ matrix.cxxflags }}" cat ql/config.hpp make -j 4 - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make check-examples - name: Check global header run: | echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp echo "#include " > test2.cpp make install ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` QuantLib-1.40/.github/workflows/linux.yml000066400000000000000000000130741507311613300204410ustar00rootroot00000000000000name: Linux build on: push: branches: - '**' pull_request: jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: "gcc 9.3 (Boost 1.78)" shortname: gcc9 tag: focal cc: gcc cxx: g++ - name: "gcc 11.4 (Boost 1.82)" shortname: gcc11 tag: jammy cc: gcc cxx: g++ - name: "gcc 13.3 (Boost 1.89)" shortname: gcc13 tag: noble cc: gcc cxx: g++ tests: true - name: "gcc 15.x" shortname: gcc15 tag: questing cc: gcc cxx: g++ tests: true - name: "Clang 10 (Boost 1.78)" shortname: clang10 tag: focal cc: clang cxx: clang++ - name: "Clang 14 (Boost 1.82)" shortname: clang14 tag: jammy cc: clang cxx: clang++ - name: "Clang 18 (Boost 1.89)" shortname: clang18 tag: noble cc: clang cxx: clang++ tests: true - name: "Clang 20" shortname: clang20 tag: plucky cc: clang cxx: clang++ tests: true - name: "C++17 mode" shortname: c++17 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++17" - name: "C++20 mode" shortname: c++20 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++20" - name: "C++23 mode" shortname: c++23 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++23" - name: "C++26 mode" shortname: c++26 tag: rolling cc: gcc cxx: g++ cxxflags: "-std=c++26" - name: "Unity build enabled" shortname: unity tag: rolling cc: gcc cxx: g++ configureflags: --enable-unity-build - name: "Intraday calculations enabled" shortname: intraday tag: rolling cc: gcc cxx: g++ configureflags: --enable-intraday tests: true - name: "Throwing in cycles enabled" shortname: cycles tag: rolling cc: gcc cxx: g++ configureflags: --enable-throwing-in-cycles --disable-faster-lazy-objects tests: true - name: "Indexed coupons enabled" shortname: indexed tag: rolling cc: gcc cxx: g++ configureflags: --enable-indexed-coupons tests: true - name: "Standard Library classes enabled" shortname: stdclasses tag: rolling cc: gcc cxx: g++ configureflags: --enable-std-classes tests: true - name: "Thread-safe observer enabled" shortname: threadsafe tag: rolling cc: gcc cxx: g++ configureflags: --enable-thread-safe-observer-pattern tests: true - name: "Sessions enabled" shortname: sessions tag: rolling cc: gcc cxx: g++ configureflags: --enable-sessions tests: true - name: "OpenMP enabled" shortname: openmp tag: rolling cc: gcc cxx: g++ configureflags: --enable-openmp tests: true - name: "Parallel unit-test runner" shortname: paralleltests tag: rolling cc: gcc cxx: g++ configureflags: --enable-parallel-unit-test-runner tests: true - name: "Null as function template" shortname: nullfunctions tag: rolling cc: gcc cxx: g++ configureflags: --enable-null-as-functions tests: true container: ghcr.io/lballabio/quantlib-devenv:${{ matrix.tag }} steps: - uses: actions/checkout@v5 - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: linux-ci-build-${{ matrix.shortname }}-${{ github.ref }} restore-keys: | linux-ci-build-${{ matrix.shortname }}-${{ github.ref }} linux-ci-build-${{ matrix.shortname }}-refs/heads/master linux-ci-build-${{ matrix.shortname }}- - name: Compiler version run: | ${{ matrix.cc }} --version - name: Build run: | ./autogen.sh ./configure --disable-static ${{ matrix.configureflags }} CC="ccache ${{ matrix.cc }}" CXX="ccache ${{ matrix.cxx }}" CXXFLAGS="-O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }}" cat ql/config.hpp make -j 4 - name: Run tests if: ${{ matrix.tests }} run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples if: ${{ matrix.tests }} run: | make check-examples - name: Check global header if: ${{ matrix.tests }} run: | echo "#include " > test1.cpp && echo "int main() { return 0; }" >> test1.cpp echo "#include " > test2.cpp make install ${{ matrix.cxx }} -O2 -g0 -Wall -Wno-unknown-pragmas -Werror ${{ matrix.cxxflags }} `quantlib-config --cflags` test1.cpp test2.cpp `quantlib-config --libs` QuantLib-1.40/.github/workflows/macos-nondefault.yml000066400000000000000000000025461507311613300225430ustar00rootroot00000000000000name: Mac OS build with non-default configuration on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-13, macos-14, macos-15] classes: [boost, std] include: - classes: std configureflags: --enable-std-pointers --disable-std-any --disable-std-optional steps: - uses: actions/checkout@v5 - name: Setup env: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 run: | brew install automake autoconf libtool boost - name: Compiler version run: | clang --version - name: Build run: | ./autogen.sh ./configure --disable-shared --with-boost-include=`brew --prefix`/include --enable-error-lines --enable-error-functions --enable-tracing --enable-indexed-coupons --enable-extra-safety-checks --enable-sessions --enable-thread-safe-observer-pattern --enable-intraday --disable-faster-lazy-objects --enable-throwing-in-cycles --enable-null-as-functions ${{ matrix.configureflags }} CC="clang" CXX="clang++" CXXFLAGS="-O2 -g0 -Wall -Werror" cat ql/config.hpp make -j 3 - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make -C Examples check-examples QuantLib-1.40/.github/workflows/macos.yml000066400000000000000000000023371507311613300204040ustar00rootroot00000000000000name: Mac OS build on: push: branches: - '**' pull_request: jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-13, macos-14, macos-15] steps: - uses: actions/checkout@v5 - name: Setup env: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 run: | brew install automake autoconf libtool boost ccache - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: macos-ci-build-${{ matrix.os }}-${{ github.ref }} restore-keys: | macos-ci-build-${{ matrix.os }}-${{ github.ref }} macos-ci-build-${{ matrix.os }}-refs/heads/master macos-ci-build-${{ matrix.os }}- - name: Compiler version run: | clang --version - name: Build run: | ./autogen.sh ./configure --disable-shared --with-boost-include=`brew --prefix`/include ${{ matrix.configureflags }} CC="ccache clang" CXX="ccache clang++" CXXFLAGS="-O2 -g0 -Wall -Werror ${{ matrix.cxxflags }}" make -j 3 - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make -C Examples check-examples QuantLib-1.40/.github/workflows/misspell.yml000066400000000000000000000012021507311613300211200ustar00rootroot00000000000000name: Misspell fixer on: push: branches-ignore: - 'dependabot/**' jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: sobolevn/misspell-fixer-action@master - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: misspell-fixes-${{ github.ref_name }} delete-branch: true commit-message: 'Fixes by misspell-fixer' title: 'Typos fixed by misspell-fixer' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/msvc-all-configs.yml000066400000000000000000000040301507311613300224360ustar00rootroot00000000000000name: Windows build with all configurations on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: msbuild: runs-on: windows-2022 strategy: fail-fast: false matrix: toolset: [v142, v143] platform: [x64, Win32] configuration: ['Release', 'Debug', 'Release (static runtime)', 'Debug (static runtime)'] unity: [unity, singles] include: - toolset: v142 boost_version: 77 vsversion: 2019 - toolset: v143 boost_version: 89 vsversion: 2022 steps: - uses: actions/checkout@v5 - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Setup Boost run: | $Url = "https://archives.boost.io/release/1.${{ matrix.boost_version }}.0/source/boost_1_${{ matrix.boost_version }}_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_${{ matrix.boost_version }}_0" -NewName "boost" - name: Setup local properties shell: cmd run: | COPY .ci\VS${{ matrix.vsversion }}.props .\Build.props - name: Setup unity build if: ${{ matrix.unity == 'unity' }} shell: cmd run: | COPY .ci\Unity.props .\Directory.Build.props - name: Build run: | msbuild ./QuantLib.sln /verbosity:normal /property:Configuration="${{ matrix.configuration }}" /property:Platform=${{ matrix.platform }} /property:PlatformToolset=${{ matrix.toolset }} - name: Test if: ${{ contains(matrix.configuration, 'Release') }} run: | .\test-suite\bin\QuantLib-test-suite*.exe --log_level=message - name: Run examples if: ${{ contains(matrix.configuration, 'Release') }} run: | foreach ($file in Get-ChildItem -Path .\Examples\*.exe -Recurse) { & $file.FullName if (!$?) { Exit $LASTEXITCODE } } QuantLib-1.40/.github/workflows/msvc-analysis.yml000066400000000000000000000030521507311613300220660ustar00rootroot00000000000000name: Microsoft C++ Code Analysis on: schedule: - cron: '0 0 * * 0' workflow_dispatch: env: # Path to the CMake build directory. build: '${{ github.workspace }}/build' jobs: analyze: name: Analyze runs-on: windows-2022 steps: - name: Checkout repository uses: actions/checkout@v5 - name: Setup run: | $Url = "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_89_0" -NewName "boost" - name: Configure CMake env: BOOST_ROOT: C:\local\boost run: cmake -B ${{ env.build }} -DQL_USE_STD_CLASSES=ON - name: Run MSVC Code Analysis uses: microsoft/msvc-code-analysis-action@v0.1.1 # Provide a unique ID to access the sarif output path id: run-analysis env: CAExcludePath: C:\local\boost with: cmakeBuildDirectory: ${{ env.build }} buildConfiguration: Release ruleset: '${{ github.workspace }}/.msvc-analysis.ruleset' - name: Upload SARIF to GitHub uses: github/codeql-action/upload-sarif@v3 with: sarif_file: ${{ steps.run-analysis.outputs.sarif }} - name: Upload SARIF as an Artifact uses: actions/upload-artifact@v4 with: name: sarif-file path: ${{ steps.run-analysis.outputs.sarif }} QuantLib-1.40/.github/workflows/msvc-nondefault.yml000066400000000000000000000036041507311613300224050ustar00rootroot00000000000000name: Windows build with non-default configuration on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: msbuild: runs-on: windows-2022 strategy: fail-fast: false matrix: toolset: [v142, v143] platform: [x64, Win32] unity: [unity, singles] include: - toolset: v142 boost_version: 77 vsversion: 2019 - toolset: v143 boost_version: 89 vsversion: 2022 steps: - uses: actions/checkout@v5 - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Setup Boost run: | $Url = "https://archives.boost.io/release/1.${{ matrix.boost_version }}.0/source/boost_1_${{ matrix.boost_version }}_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_${{ matrix.boost_version }}_0" -NewName "boost" - name: Setup local properties shell: cmd run: | COPY .ci\VS${{ matrix.vsversion }}.alt.props .\Build.props COPY .ci\userconfig${{ matrix.vsversion }}.alt.hpp .\ql\userconfig.hpp - name: Setup unity build if: ${{ matrix.unity == 'unity' }} shell: cmd run: | COPY .ci\Unity.props .\Directory.Build.props - name: Build run: | msbuild ./QuantLib.sln /verbosity:normal /property:Configuration=Release /property:Platform=${{ matrix.platform }} /property:PlatformToolset=${{ matrix.toolset }} - name: Test run: | .\test-suite\bin\QuantLib-test-suite*.exe --log_level=message - name: Run examples run: | foreach ($file in Get-ChildItem -Path .\Examples\*.exe -Recurse) { & $file.FullName if (!$?) { Exit $LASTEXITCODE } } QuantLib-1.40/.github/workflows/msvc.yml000066400000000000000000000033321507311613300202460ustar00rootroot00000000000000name: Windows build on: push: branches: - '**' pull_request: jobs: msbuild: runs-on: windows-2022 strategy: fail-fast: false matrix: toolset: [v142, v143] unity: [unity, singles] include: - toolset: v142 boost_version: 77 vsversion: 2019 - toolset: v143 boost_version: 89 vsversion: 2022 steps: - uses: actions/checkout@v5 - name: Setup MSVC++ environment uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Setup Boost run: | $Url = "https://archives.boost.io/release/1.${{ matrix.boost_version }}.0/source/boost_1_${{ matrix.boost_version }}_0.zip" (New-Object System.Net.WebClient).DownloadFile($Url, "$RUNNER_TEMP\boost.zip") Expand-Archive -Path "$RUNNER_TEMP\boost.zip" -DestinationPath C:\local Rename-Item -Path "C:\local\boost_1_${{ matrix.boost_version }}_0" -NewName "boost" - name: Setup local properties shell: cmd run: | COPY .ci\VS${{ matrix.vsversion }}.props .\Build.props - name: Setup unity build if: ${{ matrix.unity == 'unity' }} shell: cmd run: | COPY .ci\Unity.props .\Directory.Build.props - name: Build run: | msbuild ./QuantLib.sln /verbosity:normal /property:Configuration=Release /property:Platform=x64 /property:PlatformToolset=${{ matrix.toolset }} - name: Test run: | .\test-suite\bin\QuantLib-test-suite*.exe --log_level=message - name: Run examples run: | foreach ($file in Get-ChildItem -Path .\Examples\*.exe -Recurse) { & $file.FullName if (!$?) { Exit $LASTEXITCODE } } QuantLib-1.40/.github/workflows/namespaces.yml000066400000000000000000000023531507311613300214170ustar00rootroot00000000000000name: Fix deprecated uses of ext namespace on: push: branches-ignore: - 'dependabot/**' jobs: check-namespaces: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | shopt -s globstar sed -i -e 's/ext::function\b/std::function/g' **/*.[hc]pp sed -i -e 's/ext::bind\b/std::bind/g' **/*.[hc]pp sed -i -e 's/ext::ref\b/std::ref/g' **/*.[hc]pp sed -i -e 's/ext::cref\b/std::cref/g' **/*.[hc]pp sed -i -e 's/ext::placeholders\b/std::placeholders/g' **/*.[hc]pp sed -i -e 's/ext::tuple\b/std::tuple/g' **/*.[hc]pp sed -i -e 's/ext::make_tuple\b/std::make_tuple/g' **/*.[hc]pp sed -i -e 's/ext::get\b/std::get/g' **/*.[hc]pp sed -i -e 's/ext::tie\b/std::tie/g' **/*.[hc]pp - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: fix-ext-namespace-${{ github.ref_name }} delete-branch: true commit-message: 'Fix deprecated uses of ext namespace' title: 'Fix deprecated uses of ext namespace' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/prepare-release-candidate.yml000066400000000000000000000040221507311613300242610ustar00rootroot00000000000000name: Prepare release candidate on: workflow_dispatch: jobs: update-for-rc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 fetch-tags: true - name: Setup git run: | git config user.name 'lballabio[bot]' git config user.email '224797326+lballabio-bot@users.noreply.github.com' - name: Calculate versions env: GH_TOKEN: ${{ github.token }} run: | export LATEST_RELEASE=`gh release list --json name,isLatest --jq '.[] | select(.isLatest)|.name'` echo ${LATEST_RELEASE} | awk -F '.' '{ print "LATEST_MINOR=" $2 }' | tee -a $GITHUB_ENV echo ${LATEST_RELEASE} | awk -F '.' '{ print "NEXT_MINOR=" $2 + 1 }' | tee -a $GITHUB_ENV - name: Update version numbers run: | sed -i -e "s/^AC_INIT(\[QuantLib\].*$/AC_INIT([QuantLib], [1.${NEXT_MINOR}-rc],/g" configure.ac sed -i -e "s/^#define QL_VERSION.*$/#define QL_VERSION \"1.${NEXT_MINOR}-rc\"/g" ql/version.hpp sed -i -e "s/^#define QL_HEX_VERSION.*$/#define QL_HEX_VERSION 0x01${NEXT_MINOR}00c0/g" ql/version.hpp sed -i -e "s/^set(PACKAGE_VERSION .*$/set(PACKAGE_VERSION \"1.${NEXT_MINOR}-rc\"\)/g" CMakeLists.txt sed -i -e "s/^set(PACKAGE_VERSION_HEX.*$/set(PACKAGE_VERSION_HEX \"0x01${NEXT_MINOR}00c0\"\)/g" CMakeLists.txt git commit -a -m "Set version to 1.${NEXT_MINOR}-rc" - name: Update ChangeLog run: | git log --pretty=medium --date=rfc --stat --grep='Merge [^p]' --grep='[Mm]erged' --grep='[Pp]ull from' --invert-grep v1.${LATEST_MINOR}... > ChangeLog.txt git commit -a -m "Update changelog" - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: set-to-rc-${{ github.ref_name }} delete-branch: true title: 'Set version to 1.${{ env.NEXT_MINOR }}-rc' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/prepare-release.yml000066400000000000000000000040251507311613300223520ustar00rootroot00000000000000name: Prepare release on: workflow_dispatch: jobs: update-for-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 fetch-tags: true - name: Setup git run: | git config user.name 'lballabio[bot]' git config user.email '224797326+lballabio-bot@users.noreply.github.com' - name: Calculate versions env: GH_TOKEN: ${{ github.token }} run: | export LATEST_RELEASE=`gh release list --json name,isLatest --jq '.[] | select(.isLatest)|.name'` echo ${LATEST_RELEASE} | awk -F '.' '{ print "LATEST_MINOR=" $2 }' | tee -a $GITHUB_ENV echo ${LATEST_RELEASE} | awk -F '.' '{ print "NEXT_MINOR=" $2 + 1 }' | tee -a $GITHUB_ENV - name: Update version numbers run: | sed -i -e "s/^AC_INIT(\[QuantLib\].*$/AC_INIT([QuantLib], [1.${NEXT_MINOR}],/g" configure.ac sed -i -e "s/^#define QL_VERSION.*$/#define QL_VERSION \"1.${NEXT_MINOR}\"/g" ql/version.hpp sed -i -e "s/^#define QL_HEX_VERSION.*$/#define QL_HEX_VERSION 0x01${NEXT_MINOR}00f0/g" ql/version.hpp sed -i -e "s/^set(PACKAGE_VERSION .*$/set(PACKAGE_VERSION \"1.${NEXT_MINOR}\"\)/g" CMakeLists.txt sed -i -e "s/^set(PACKAGE_VERSION_HEX.*$/set(PACKAGE_VERSION_HEX \"0x01${NEXT_MINOR}00f0\"\)/g" CMakeLists.txt git commit -a -m "Set version to 1.${NEXT_MINOR}" - name: Update ChangeLog run: | git log --pretty=medium --date=rfc --stat --grep='Merge [^p]' --grep='[Mm]erged' --grep='[Pp]ull from' --invert-grep v1.${LATEST_MINOR}... > ChangeLog.txt git commit -a -m "Update changelog" - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: update-version-for-release-${{ github.ref_name }} delete-branch: true title: 'Set version to 1.${{ env.NEXT_MINOR }} final' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/publish-release-candidate.yml000066400000000000000000000021711507311613300242740ustar00rootroot00000000000000name: Publish release candidate on: push: tags: - 'v1.*-rc' permissions: contents: write packages: write jobs: publish-rc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 fetch-tags: true - name: Setup run: | sudo apt update sudo apt install -y libboost-dev tofrodos ./autogen.sh ./configure - name: Make tarballs run: | mkdir tarballs make dist mv QuantLib-*.tar.gz tarballs cd tarballs && ../tools/tgz2zip *.tar.gz && ls -lh - name: Extract version run: | echo ${{ github.ref_name }} | awk -F '[v-]' '{ print "VERSION_NUMBER=" $2 }' | tee -a $GITHUB_ENV - name: Create prerelease env: GH_TOKEN: ${{ github.token }} run: | gh release create ${{ github.ref_name }} \ --title "${VERSION_NUMBER} release candidate" \ --prerelease \ --notes "This is a release candidate. Please try it out and report any issues here on GitHub." --generate-notes \ tarballs/*.tar.gz tarballs/*.zip QuantLib-1.40/.github/workflows/publish-release.yml000066400000000000000000000033361507311613300223660ustar00rootroot00000000000000name: Draft new release on: push: tags: - 'v1.[0-9]+' permissions: contents: write packages: write jobs: draft-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 fetch-tags: true - name: Setup run: | sudo apt update sudo apt install -y libboost-dev tofrodos ./autogen.sh ./configure - name: Make tarballs run: | mkdir tarballs make dist mv QuantLib-*.tar.gz tarballs cd tarballs && ../tools/tgz2zip *.tar.gz && ls -lh - name: Extract version run: | echo ${{ github.ref_name }} | awk -F '[v-]' '{ print "VERSION_NUMBER=" $2 }' | tee -a $GITHUB_ENV - name: Prepare release notes run: | echo "Downloads:" >> tarballs/notes.txt echo "==========" >> tarballs/notes.txt echo "" >> tarballs/notes.txt echo "- [QuantLib-1.${VERSION_NUMBER}.tar.gz](https://github.com/lballabio/QuantLib/releases/download/v1.${VERSION_NUMBER}/QuantLib-1.${VERSION_NUMBER}.tar.gz)" >> tarballs/notes.txt echo "- [QuantLib-1.${VERSION_NUMBER}.zip](https://github.com/lballabio/QuantLib/releases/download/v1.${VERSION_NUMBER}/QuantLib-1.${VERSION_NUMBER}.zip)" >> tarballs/notes.txt echo "" >> tarballs/notes.txt awk '/Full list of pull requests/{ exit } { print }' News.md >> tarballs/notes.txt - name: Create draft release env: GH_TOKEN: ${{ github.token }} run: | gh release create ${{ github.ref_name }} \ --title "${VERSION_NUMBER}" \ --draft \ --notes-file tarballs/notes.txt \ --generate-notes \ tarballs/*.tar.gz tarballs/*.zip QuantLib-1.40/.github/workflows/sanitizer.yml000066400000000000000000000026461507311613300213150ustar00rootroot00000000000000name: Linux build with address sanitizer enabled on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: sanitize-address-undefined: runs-on: ubuntu-latest container: ghcr.io/lballabio/quantlib-devenv:rolling steps: - uses: actions/checkout@v5 - name: Compiler version run: | gcc --version - name: Build run: | ./autogen.sh ./configure --disable-static CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer -Wall -Wno-unknown-pragmas -Werror" make -j 4 - name: Run tests run: | LSAN_OPTIONS=suppressions=.lsan.txt ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make check-examples sanitize-thread: runs-on: ubuntu-latest container: ghcr.io/lballabio/quantlib-devenv:rolling steps: - uses: actions/checkout@v5 - name: Compiler version run: | gcc --version - name: Build run: | ./autogen.sh ./configure --disable-static --enable-sessions --enable-thread-safe-observer-pattern CC="gcc" CXX="g++" CXXFLAGS="-O2 -g0 -fsanitize=thread -fno-sanitize-recover=all -Wall -Wno-unknown-pragmas -Werror" make -j 4 - name: Run tests run: | ./test-suite/quantlib-test-suite --log_level=message - name: Run examples run: | make check-examples QuantLib-1.40/.github/workflows/stale.yml000066400000000000000000000022241507311613300204050ustar00rootroot00000000000000name: Close stale issues and PR on: schedule: - cron: '30 1 * * *' jobs: staleness-check: runs-on: ubuntu-latest steps: - uses: actions/stale@v10 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.' close-issue-message: 'This issue was automatically closed because it has been stalled for two weeks with no further activity.' stale-pr-message: 'This PR was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.' close-pr-message: 'This PR was automatically closed because it has been stalled for two weeks with no further activity.' days-before-stale: 60 days-before-close: 14 stale-issue-label: 'stale' stale-pr-label: 'stale' exempt-issue-labels: 'help wanted,in progress' exempt-pr-labels: 'help wanted,in progress' exempt-all-milestones: true QuantLib-1.40/.github/workflows/sync-qldefines.yml000066400000000000000000000017351507311613300222270ustar00rootroot00000000000000name: Keep qldefines.hpp.cfg in sync with original header on: push: branches-ignore: - 'dependabot/**' jobs: sync-files: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check run: | cp ql/qldefines.hpp ql/qldefines.hpp.cfg sed -i -e 's|^#if defined(HAVE_CONFIG_H).*$|#if defined(QL_HAVE_CONFIG_H) // Dynamically created by cmake|g' ql/qldefines.hpp.cfg sed -i -e 's|^/\* install-hook \*/.*$|#cmakedefine QL_HAVE_CONFIG_H|g' ql/qldefines.hpp.cfg - uses: peter-evans/create-pull-request@v7 with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: sync-qldefine-${{ github.ref_name }} delete-branch: true commit-message: 'Sync qldefines.hpp.cfg with original header' title: 'Sync qldefines.hpp.cfg with original header' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> QuantLib-1.40/.github/workflows/test-times.yml000066400000000000000000000026011507311613300213720ustar00rootroot00000000000000name: Check test times on: push: branches: - '**' pull_request: jobs: check-test-times: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Cache uses: hendrikmuhs/ccache-action@v1.2 with: key: linux-ci-test-times-${{ github.ref }} restore-keys: | linux-ci-test-times-${{ github.ref }} linux-ci-test-times-refs/heads/master linux-ci-test-times- - name: Setup run: | sudo rm /etc/apt/sources.list.d/microsoft-prod.list sudo apt update sudo apt install -y libboost-dev autoconf automake libtool ccache - name: Build run: | ./autogen.sh ./configure --disable-static CC="ccache gcc" CXX="ccache g++" CXXFLAGS="-O2 -g0" make -j 4 - name: Run faster tests run: | ./test-suite/quantlib-test-suite --logger=JUNIT,warning,faster.xml:HRF,message -- --faster - name: Run fast tests run: | ./test-suite/quantlib-test-suite --logger=JUNIT,warning,fast.xml:HRF,message -- --fast - name: Run all tests run: | ./test-suite/quantlib-test-suite --logger=JUNIT,warning,all.xml:HRF,message - name: Save test times uses: actions/upload-artifact@v4 with: name: test-reports path: ./*.xml - name: Check test times run: | python ./tools/check_test_times.py QuantLib-1.40/.github/workflows/tidy.yml000066400000000000000000000021461507311613300202510ustar00rootroot00000000000000name: Apply clang-tidy fixes on: schedule: - cron: '0 0 * * 0' workflow_dispatch: jobs: check: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v5 - name: Setup run: | sudo apt-get update sudo apt-get install -y clang-tidy-19 libboost-dev - name: Check run: | cmake --preset linux-ci-build-with-clang-tidy cd build/linux-ci-build-with-clang-tidy cmake --build . -j1 - uses: peter-evans/create-pull-request@v7 if: ${{ always() }} with: token: ${{ secrets.MACHINE_ACCOUNT_PAT }} push-to-fork: ${{ vars.MACHINE_ACCOUNT }}/QuantLib branch: clang-tidy-fixes-${{ github.ref_name }} delete-branch: true commit-message: 'Automated fixes by clang-tidy' title: 'Automated fixes by clang-tidy' author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> body: | This is an automated PR generated by the [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action. Please review the changes before merging. QuantLib-1.40/.gitignore000066400000000000000000000036611507311613300151530ustar00rootroot00000000000000# Compilation artifacts configure quantlib-config libtool aclocal.m4 autom4te.cache config.log config.status config/* !config/Makefile.am m4/*.m4 ql/config.hpp ql/config.hpp.in ql/stamp-h1 elc-stamp quantlib.elc quantlib.pc QuantLib.spec CMakeCache.txt CMakeUserPresets.json Docs/.time-stamp Docs/.time-stamp-html Docs/.time-stamp-online Docs/.time-stamp-man Docs/LICENSE.TXT Docs/reference-*/ Docs/html/ Docs/man/ Examples/*/bin/ Examples/*/build/ Examples/*/*.trs build/ install/ lib/ test-suite/bin/QuantLib-test-suite-*.manifest test-suite/build/ test-suite/*.trs # Build outputs **/x64/Debug **/x64/Release **/Debug **/Release **/bin/*.xml **/bin/*.manifest # Artifacts created in multiple directories Makefile Makefile.in unity.cpp unity_*.cpp testCaseCollection.xml .deps .libs *.la *.lo *.o *.so .build-stamp *.exe *.dll *.exp *.lib *.pdb *.ilk *~ *.ncb *.suo *.vcproj.*.user *.vcxproj.user *.VC.db *.VC.opendb *.log *.sdf *.opensdf *.pch *.idb *.ipch CMakeFiles *.cmake !cmake/*.cmake TAGS .dirstamp # Outputs Examples/BasketLosses/BasketLosses Examples/BermudanSwaption/BermudanSwaption Examples/Bonds/Bonds Examples/CallableBonds/CallableBonds Examples/CDS/CDS Examples/ConvertibleBonds/ConvertibleBonds Examples/CVAIRS/CVAIRS Examples/DiscreteHedging/DiscreteHedging Examples/EquityOption/EquityOption Examples/FittedBondCurve/FittedBondCurve Examples/FRA/FRA Examples/Gaussian1dModels/Gaussian1dModels Examples/GlobalOptimizer/GlobalOptimizer Examples/LatentModel/LatentModel Examples/MarketModels/MarketModels Examples/MultidimIntegral/MultidimIntegral Examples/MulticurveBootstrapping/MulticurveBootstrapping Examples/Replication/Replication Examples/Repo/Repo test-suite/quantlib-test-suite test-suite/quantlib-benchmark test-suite/bin/*.exp test-suite/bin/*.lib test-suite/bin/*.pdb test-suite/.unit_test_profile.txt # IDEs .vs .vscode .idea cmake-build-* nbproject .cproject # User customizations .dir-locals.el Build.props Directory.Build.props QuantLib-1.40/.lgtm.yml000066400000000000000000000002461507311613300147230ustar00rootroot00000000000000 path_classifiers: docs: - Docs - Examples test: - test-suite library: - tools queries: - exclude: cpp/fixme-comment QuantLib-1.40/.lsan.txt000066400000000000000000000000011507311613300147200ustar00rootroot00000000000000 QuantLib-1.40/.misspell-fixer.ignore000066400000000000000000000000221507311613300173750ustar00rootroot00000000000000^./ChangeLog.txt QuantLib-1.40/.msvc-analysis.ruleset000066400000000000000000000010041507311613300174240ustar00rootroot00000000000000 QuantLib-1.40/CITATION.cff000066400000000000000000000005551507311613300150540ustar00rootroot00000000000000cff-version: 1.2.0 message: If you use this software, please cite it using these metadata. title: "QuantLib: a free/open-source library for quantitative finance" authors: - name: "The QuantLib contributors" url: "https://www.quantlib.org/" type: software doi: 10.5281/zenodo.1440997 license: BSD-3-Clause repository-code: "https://github.com/lballabio/QuantLib" QuantLib-1.40/CMakeLists.txt000066400000000000000000000252621507311613300157240ustar00rootroot00000000000000cmake_minimum_required(VERSION 3.15.0) # For MSVC RUNTIME LIBRARY, need CMP0091=NEW and cmake 3.15+ cmake_policy(SET CMP0091 NEW) # Version info set(QUANTLIB_VERSION_MAJOR 1) set(QUANTLIB_VERSION_MINOR 40) set(QUANTLIB_VERSION_PATCH 0) set(QUANTLIB_VERSION ${QUANTLIB_VERSION_MAJOR}.${QUANTLIB_VERSION_MINOR}.${QUANTLIB_VERSION_PATCH}) # Project Info set(PACKAGE_NAME "QuantLib") set(PACKAGE_VERSION "1.40") set(PACKAGE_VERSION_HEX "0x014000f0") set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "https://github.com/lballabio/QuantLib/issues/") # Default build type for single-config generators (set this before project() command) # For multi-config generators, such as Visual Studio, use: cmake --build . --config= if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "") set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type for single-config generators" FORCE) endif() project(${PACKAGE_NAME} LANGUAGES CXX DESCRIPTION "The QuantLib C++ Library") # Path for package-local cmake modules set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) # Installation directories set(QL_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") set(QL_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") set(QL_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") set(QL_INSTALL_EXAMPLESDIR "lib/QuantLib/examples" CACHE STRING "Installation directory for examples") set(QL_INSTALL_CMAKEDIR "lib/cmake/${PACKAGE_NAME}" CACHE STRING "Installation directory for CMake scripts") # Options option(QL_BUILD_EXAMPLES "Build examples" ON) option(QL_BUILD_TEST_SUITE "Build test suite" ON) option(QL_BUILD_FUZZ_TEST_SUITE "Build fuzz test suite" OFF) option(QL_ENABLE_OPENMP "Detect and use OpenMP" OFF) option(QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER "Enable the parallel unit test runner" OFF) option(QL_ENABLE_SESSIONS "Singletons return different instances for different sessions" OFF) option(QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN "Enable the thread-safe observer pattern" OFF) option(QL_ENABLE_TRACING "Tracing messages should be allowed" OFF) option(QL_ENABLE_DEFAULT_WARNING_LEVEL "Enable the default warning level to pass the ci pipeline" ON) option(QL_COMPILE_WARNING_AS_ERROR "Specify whether to treat warnings on compile as errors." OFF) option(QL_ERROR_FUNCTIONS "Error messages should include current function information" OFF) option(QL_ERROR_LINES "Error messages should include file and line information" OFF) option(QL_EXTRA_SAFETY_CHECKS "Extra safety checks should be performed" OFF) option(QL_HIGH_RESOLUTION_DATE "Enable date resolution down to microseconds" OFF) option(QL_THROW_IN_CYCLES "Throw an exception when a notification loop is detected" OFF) option(QL_FASTER_LAZY_OBJECTS "Cause lazy objects to forward just the first notification instead of every one" ON) option(QL_NULL_AS_FUNCTIONS "Enable the implementation of Null as template functions" OFF) option(QL_INSTALL_BENCHMARK "Install benchmark" ON) option(QL_INSTALL_EXAMPLES "Install examples" ON) option(QL_INSTALL_TEST_SUITE "Install test suite" ON) option(QL_TAGGED_LAYOUT "Library names use layout tags" ${MSVC}) option(QL_USE_CLANG_TIDY "Use clang-tidy when building" OFF) option(QL_USE_INDEXED_COUPON "Use indexed coupons instead of par coupons" OFF) option(QL_USE_STD_ANY "Use std::any instead of boost::any" ON) option(QL_USE_STD_CLASSES "Enable all QL_USE_STD_ options" OFF) option(QL_USE_STD_OPTIONAL "Use std::optional instead of boost::optional" ON) option(QL_USE_STD_SHARED_PTR "Use standard smart pointers instead of Boost ones" OFF) set(QL_EXTERNAL_SUBDIRECTORIES "" CACHE STRING "Optional list of external source directories to be added to the build (semicolon-separated)") # set -lpapi here set(QL_EXTRA_LINK_LIBRARIES "" CACHE STRING "Optional extra link libraries to add to QuantLib") # Require C++17 or higher if (NOT DEFINED CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) elseif(CMAKE_CXX_STANDARD LESS 17) message(FATAL_ERROR "Please specify CMAKE_CXX_STANDARD of 17 or higher") endif() if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED) set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() # Avoid use of compiler language extensions, i.e. -std=c++17 not -std=gnu++17 if (NOT DEFINED CMAKE_CXX_EXTENSIONS) set(CMAKE_CXX_EXTENSIONS FALSE) endif() # Convenience option to activate all STD options if (QL_USE_STD_CLASSES) set(QL_USE_STD_ANY ON) set(QL_USE_STD_OPTIONAL ON) set(QL_USE_STD_SHARED_PTR ON) endif() # Set the default warning level we use to pass the GitHub workflows if (QL_ENABLE_DEFAULT_WARNING_LEVEL) if (MSVC) # warning level 3 # There are also specific warnings disabled for MSCV in cmake/Platform.cmake. add_compile_options(-W3) elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") # lots of warnings add_compile_options(-Wall -Wno-unknown-pragmas -Wno-array-bounds) endif() endif() # Treat warnings on compile as errors if (QL_COMPILE_WARNING_AS_ERROR) # all compiler warnings as errors if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0") # since v3.24 cmake can set all compiler warnings as errors itself set(CMAKE_COMPILE_WARNING_AS_ERROR ON) else() # or set them manually if (MSVC) add_compile_options(-WX) elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") add_compile_options(-Werror) endif() endif() endif() if (QL_USE_CLANG_TIDY) if (NOT DEFINED QL_CLANG_TIDY) set(QL_CLANG_TIDY clang-tidy) endif() if (NOT DEFINED QL_CLANG_TIDY_OPTIONS) set(QL_CLANG_TIDY_OPTIONS) endif() if (QL_CLANG_TIDY_OPTIONS) set(CMAKE_CXX_CLANG_TIDY "${QL_CLANG_TIDY};${QL_CLANG_TIDY_OPTIONS}") else() set(CMAKE_CXX_CLANG_TIDY "${QL_CLANG_TIDY}") endif() endif() # Project shared libs ON for UNIX if (NOT DEFINED BUILD_SHARED_LIBS) set(BUILD_SHARED_LIBS ${UNIX}) endif() # Boost static libs ON for MSVC if (NOT DEFINED Boost_USE_STATIC_LIBS) set(Boost_USE_STATIC_LIBS ${MSVC}) endif() # Boost static runtime ON for MSVC if (NOT DEFINED Boost_USE_STATIC_RUNTIME) set(Boost_USE_STATIC_RUNTIME ${MSVC}) endif() if (NOT DEFINED QL_BOOST_VERSION) # Boost 1.75.0 or greater required for compiling with C++20 if (CMAKE_CXX_STANDARD GREATER_EQUAL 20) set(QL_BOOST_VERSION 1.75.0) else() set(QL_BOOST_VERSION 1.58.0) endif() endif() if (CMAKE_CXX_COMPILER STREQUAL "icpx") find_package(IntelDPCPP REQUIRED) endif() find_package(Boost ${QL_BOOST_VERSION} REQUIRED) # Do not warn about Boost versions higher than 1.58.0 set(Boost_NO_WARN_NEW_VERSIONS ON) # Avoid using Boost auto-linking add_compile_definitions(BOOST_ALL_NO_LIB) if (QL_ENABLE_OPENMP) find_package(OpenMP REQUIRED) endif() # Prefer pthread flag as per https://cmake.org/cmake/help/latest/module/FindThreads.html if (NOT DEFINED THREADS_PREFER_PTHREAD_FLAG) set(THREADS_PREFER_PTHREAD_FLAG ON) endif() # Add Threads dependency when any of the threading features are enabled if (QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER OR QL_ENABLE_SESSIONS OR QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN) find_package(Threads REQUIRED) # Parallel test runner needs library rt on *nix for shm_open, etc. if (QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER AND UNIX AND NOT APPLE) find_library(RT_LIBRARY rt REQUIRED) set(QL_THREAD_LIBRARIES Threads::Threads ${RT_LIBRARY}) else() set(QL_THREAD_LIBRARIES Threads::Threads) endif() endif() # If available, use PIC for shared libs and PIE for executables if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() if (CMAKE_POSITION_INDEPENDENT_CODE) # cmake policy CMP0083: add PIE support if possible (need cmake 3.14) include(CheckPIESupported) check_pie_supported() endif() # Configure files set(QL_HAVE_CONFIG_H ON) set(QL_VERSION ${PACKAGE_VERSION}) set(QL_HEX_VERSION ${PACKAGE_VERSION_HEX}) configure_file(ql/config.hpp.cfg ql/config.hpp @ONLY) configure_file(ql/qldefines.hpp.cfg ql/qldefines.hpp @ONLY) # Generate quantlib-config # Define the variables to be substituted in the input file set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix "\${prefix}") set(includedir "\${prefix}/include") set(libdir "\${exec_prefix}/lib") if (QL_ENABLE_OPENMP) set(OPENMP_CXXFLAGS ${OpenMP_CXX_FLAGS}) endif() configure_file(quantlib-config.in quantlib-config @ONLY) configure_file(quantlib.pc.in quantlib.pc @ONLY) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/quantlib-config TYPE BIN) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/quantlib.pc DESTINATION lib/pkgconfig) include(Platform) # Check for library name layout tagging if (QL_TAGGED_LAYOUT) if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) set(DEBUG_POSTFIX "-x64") set(RELEASE_POSTFIX "-x64") endif() set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-mt) set(RELEASE_POSTFIX ${RELEASE_POSTFIX}-mt) if (CMAKE_MSVC_RUNTIME_LIBRARY MATCHES ".*DLL$") set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-gd) else() set(DEBUG_POSTFIX ${DEBUG_POSTFIX}-sgd) set(RELEASE_POSTFIX ${RELEASE_POSTFIX}-s) endif() set(CMAKE_DEBUG_POSTFIX ${DEBUG_POSTFIX}) set(CMAKE_RELEASE_POSTFIX ${RELEASE_POSTFIX}) set(CMAKE_RELWITHDEBINFO_POSTFIX ${RELEASE_POSTFIX}) set(CMAKE_MINSIZEREL_POSTFIX ${RELEASE_POSTFIX}) endif() include(CTest) # extension subdirectories if they exist (hook for external projects) foreach(extdir ${QL_EXTERNAL_SUBDIRECTORIES}) get_filename_component(name_without_dir "${extdir}" NAME) add_subdirectory(${extdir} ${name_without_dir}) endforeach() # Add subdirectories add_subdirectory(ql) if (QL_BUILD_EXAMPLES) add_subdirectory(Examples) endif() if (QL_BUILD_TEST_SUITE) add_subdirectory(test-suite) endif() if ('${CMAKE_CXX_COMPILER_ID}' MATCHES 'Clang' AND QL_BUILD_FUZZ_TEST_SUITE) add_subdirectory(fuzz-test-suite) endif() # CPack support (make package, make package_source) set(CPACK_PACKAGE_VERSION_MAJOR ${QUANTLIB_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${QUANTLIB_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${QUANTLIB_VERSION_PATCH}) set(CPACK_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION}) set(CPACK_GENERATOR "TGZ" "ZIP" "7Z") set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION}) set(CPACK_SOURCE_GENERATOR "TGZ" "ZIP" "7Z") set(CPACK_SOURCE_IGNORE_FILES "~$" "\\\\.swp$" "/[Bb]uild" "/\\\\.app" "/\\\\.cla" "/\\\\.cod" "/\\\\.git" "/\\\\.lgt" "/\\\\.mis") include(CPack) QuantLib-1.40/CMakePresets.json000066400000000000000000000176001507311613300164020ustar00rootroot00000000000000{ "version": 3, "configurePresets": [ { "name": "windows-base", "hidden": true, "binaryDir": "${sourceDir}/build/${presetName}", "architecture": { "value": "x64", "strategy": "external" }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "windows-msvc-base", "hidden": true, "inherits": "windows-base", "cacheVariables": { "CMAKE_CXX_COMPILER": "cl.exe" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "intelliSenseMode": "windows-msvc-x64" } } }, { "name": "windows-clang-base", "hidden": true, "inherits": "windows-base", "cacheVariables": { "CMAKE_CXX_COMPILER": "clang-cl.exe" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "intelliSenseMode": "windows-clang-x64" } } }, { "name": "linux-base", "hidden": true, "binaryDir": "${sourceDir}/build/${presetName}", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" }, "vendor": { "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" }, "microsoft.com/VisualStudioSettings/CMake/1.0": { "intelliSenseMode": "linux-gcc-x64", "hostOS": [ "Linux" ] } } }, { "name": "linux-gcc-base", "hidden": true, "inherits": "linux-base", "cacheVariables": { "CMAKE_CXX_COMPILER": "g++" } }, { "name": "linux-clang-base", "hidden": true, "inherits": "linux-base", "cacheVariables": { "CMAKE_CXX_COMPILER": "clang++" } }, { "name": "apple-arm64-base", "hidden": true, "binaryDir": "${sourceDir}/build/${presetName}", "architecture": { "value": "arm64", "strategy": "external" }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "ninja", "hidden": true, "generator": "Ninja" }, { "name": "make", "hidden": true, "generator": "Unix Makefiles" }, { "name": "_release", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, { "name": "_debug", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "_relwithdebinfo", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" } }, { "name": "linux-clang-debug", "inherits": [ "linux-clang-base", "make", "_debug" ] }, { "name": "linux-clang-release", "inherits": [ "linux-clang-base", "make", "_release" ] }, { "name": "linux-clang-relwithdebinfo", "inherits": [ "linux-clang-base", "make", "_relwithdebinfo" ] }, { "name": "linux-gcc-debug", "inherits": [ "linux-gcc-base", "make", "_debug" ] }, { "name": "linux-gcc-release", "inherits": [ "linux-gcc-base", "make", "_release" ] }, { "name": "linux-gcc-relwithdebinfo", "inherits": [ "linux-gcc-base", "make", "_relwithdebinfo" ] }, { "name": "linux-clang-ninja-debug", "inherits": [ "ninja", "linux-clang-debug" ] }, { "name": "linux-clang-ninja-release", "inherits": [ "ninja", "linux-clang-release" ] }, { "name": "linux-clang-ninja-relwithdebinfo", "inherits": [ "ninja", "linux-clang-relwithdebinfo" ] }, { "name": "linux-gcc-ninja-debug", "inherits": [ "ninja", "linux-gcc-debug" ] }, { "name": "linux-gcc-ninja-release", "inherits": [ "ninja", "linux-gcc-release" ] }, { "name": "linux-gcc-ninja-relwithdebinfo", "inherits": [ "ninja", "linux-gcc-relwithdebinfo" ] }, { "name": "linux-gcc-debug-with-clang-tidy", "inherits": [ "linux-gcc-debug" ], "cacheVariables": { "QL_CLANG_TIDY_OPTIONS": "-warnings-as-errors=*", "QL_USE_CLANG_TIDY": "ON" } }, { "name": "windows-clang-release", "inherits": [ "windows-clang-base", "ninja", "_release" ] }, { "name": "windows-clang-debug", "inherits": [ "windows-clang-base", "ninja", "_debug" ] }, { "name": "windows-clang-relwithdebinfo", "inherits": [ "windows-clang-base", "ninja", "_relwithdebinfo" ] }, { "name": "windows-msvc-release", "inherits": [ "windows-msvc-base", "ninja", "_release" ] }, { "name": "windows-msvc-debug", "inherits": [ "windows-msvc-base", "ninja", "_debug" ] }, { "name": "windows-msvc-relwithdebinfo", "inherits": [ "windows-msvc-base", "ninja", "_relwithdebinfo" ] }, { "name": "linux-ci-build-with-clang-tidy", "inherits": [ "linux-gcc-debug" ], "cacheVariables": { "BOOST_ROOT": "/usr", "CMAKE_UNITY_BUILD": "ON", "QL_CLANG_TIDY": "clang-tidy-19", "QL_CLANG_TIDY_OPTIONS": "-quiet;-fix", "QL_USE_CLANG_TIDY": "ON", "QL_USE_STD_CLASSES": "ON" } }, { "name": "linux-ci-build-with-nonstandard-options", "inherits": [ "linux-gcc-ninja-release" ], "cacheVariables": { "BOOST_ROOT": "/usr", "BUILD_SHARED_LIBS": false, "CMAKE_CXX_COMPILER_LAUNCHER": "ccache", "QL_ENABLE_SESSIONS": "ON", "QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN": "ON", "QL_HIGH_RESOLUTION_DATE": "ON", "QL_FASTER_LAZY_OBJECTS": "OFF", "QL_THROW_IN_CYCLES": "ON", "QL_NULL_AS_FUNCTIONS": "ON", "QL_USE_INDEXED_COUPON": "ON", "QL_USE_STD_SHARED_PTR": "ON", "QL_USE_STD_ANY": "OFF", "QL_USE_STD_OPTIONAL": "OFF", "QL_COMPILE_WARNING_AS_ERROR": "ON" } }, { "name": "windows-ci-build-with-nonstandard-options", "inherits": [ "windows-msvc-release" ], "cacheVariables": { "CMAKE_UNITY_BUILD": "ON", "QL_ENABLE_SESSIONS": "ON", "QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN": "ON", "QL_HIGH_RESOLUTION_DATE": "ON", "QL_FASTER_LAZY_OBJECTS": "OFF", "QL_THROW_IN_CYCLES": "ON", "QL_NULL_AS_FUNCTIONS": "ON", "QL_USE_INDEXED_COUPON": "ON", "QL_USE_STD_SHARED_PTR": "ON", "QL_USE_STD_ANY": "OFF", "QL_USE_STD_OPTIONAL": "OFF", "QL_COMPILE_WARNING_AS_ERROR": "ON", "CMAKE_CXX_COMPILER_LAUNCHER": "sccache" } }, { "name": "apple-arm64-ninja-debug", "description": "Apple M series preset Debug", "inherits": [ "apple-arm64-base", "ninja", "_debug" ] }, { "name": "apple-arm64-ninja-release", "description": "Apple M series preset Release", "inherits": [ "apple-arm64-base", "ninja", "_release" ] }, { "name": "apple-arm64-ninja-relwithdebinfo", "description": "Apple M series preset RelWithDebInfo", "inherits": [ "apple-arm64-base", "ninja", "_relwithdebinfo" ] } ] } QuantLib-1.40/CONTRIBUTING.md000066400000000000000000000036311507311613300154110ustar00rootroot00000000000000 # Contributing to QuantLib Thanks for considering a contribution! We're looking forward to it. The preferred way to contribute is through a pull request on GitHub. This gives us some convenient tooling to look at your changes and provide feedback; also, opening a pull request triggers automated building and testing of your code and often gives you feedback before a human has a chance to look at it (the time we can give to the project is, unfortunately, limited). So, in short: get a GitHub account if you don't have it already and clone the repository at with the "Fork" button in the top right corner of the page. Check out your clone to your machine, code away, push your changes to your clone and submit a pull request: links to more detailed instructions are at the end of this file. A note: a pull request will show any new changes committed and pushed to the corresponding branch. For this reason, we strongly advise you to use a feature branch for your changes, instead of your `master` branch. This gives you the freedom to add unrelated changes to your master, and also gives the maintainers the freedom to push further changes to the branch. It's likely that we won't merge your code right away, and we'll ask for some changes instead. Don't be discouraged! That's normal; the library is complex, and thus it might take some time to become familiar with it and to use it in an idiomatic way. Again, thanks — and welcome! We're looking forward to your contributions. #### Useful links Instructions for forking a cloning a repository are at . More detailed instructions for creating pull requests are at . Finally, a basic guide to GitHub is at . GitHub also provides interactive learning at . QuantLib-1.40/ChangeLog.txt000066400000000000000000021651431507311613300155610ustar00rootroot00000000000000commit 6baa6c2b4434c3bb456e51392dc5b07f742a0554 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Fri, 10 Oct 2025 15:13:51 +0000 Set version to 1.40 CMakeLists.txt | 4 ++-- configure.ac | 2 +- ql/version.hpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit eea869603efb2b83a3c38b80553da151f24f1ace Author: Luigi Ballabio Date: Fri, 3 Oct 2025 16:31:55 +0200 Fix job name .github/workflows/prepare-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1823b828774fbf078f461d0d13796d6213ead130 Author: Luigi Ballabio Date: Fri, 3 Oct 2025 15:09:32 +0200 Add initial workflows for release .github/workflows/prepare-release.yml | 43 +++++++++++++++++++++++++++++ .github/workflows/publish-release.yml | 52 +++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) commit 0e7d8fbb1ce1e3efe892d89f0b12acf95101d584 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Thu, 2 Oct 2025 10:58:02 +0000 Update changelog ChangeLog.txt | 10017 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 9249 insertions(+), 768 deletions(-) commit 42dcd1b669981b5172283856ce446fdf9638c891 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Thu, 2 Oct 2025 10:58:02 +0000 Set version to 1.40-rc CMakeLists.txt | 4 ++-- configure.ac | 2 +- ql/version.hpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit fa4e409dae17befe71921b3d183255894192e466 Author: Luigi Ballabio Date: Thu, 2 Oct 2025 11:50:28 +0200 Update news and contributors Contributors.txt | 9 +++ News.md | 167 ++++++++++++++----------------------------------------- 2 files changed, 50 insertions(+), 126 deletions(-) commit a9fac61b892dbaab5b42f7cdaf8b8e311622384a Author: Luigi Ballabio Date: Wed, 1 Oct 2025 15:55:25 +0200 Fix test message test-suite/indexes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ff6a7af465ec7bb0edc89630d781a22937bdacd0 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Mon, 29 Sep 2025 08:24:42 +0000 Automated fixes by clang-tidy ql/instruments/perpetualfutures.cpp | 3 ++- ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 6 +++--- ql/pricingengines/futures/discountingperpetualfuturesengine.hpp | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) commit d113fbfcdcabe7654abc773abee25b26811f03f4 Merge: 7deb4a1e8 13a7b3b53 Author: Luigi Ballabio Date: Mon, 29 Sep 2025 11:07:09 +0200 Fix potential dangling reference in MultiCubicSpline (#2265) commit 7deb4a1e8e6dd2ded7d1c82e84e80867f318d4e4 Author: Luigi Ballabio Date: Mon, 29 Sep 2025 08:36:50 +0200 Prevent false positives from clang-tidy ql/experimental/credit/defaultprobabilitylatentmodel.hpp | 2 ++ 1 file changed, 2 insertions(+) commit 13a7b3b5312edd295c7b4de986268fc968b56efb Author: Luigi Ballabio Date: Mon, 29 Sep 2025 09:22:16 +0200 Correct size for default vector ql/math/interpolations/multicubicspline.hpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) commit 7873176976e51034d8cde02dd8a7f477ba603426 Merge: ef5c0e910 de1f2614d Author: Luigi Ballabio Date: Mon, 29 Sep 2025 09:07:31 +0200 Add date adjustment rules for 30/365 (#2337) commit de1f2614d13a28185cf248e591feca14743247d5 Author: Ryan Gibson Date: Sun, 28 Sep 2025 21:26:50 -0400 Add date adjustment tests for Thirty365 test-suite/daycounters.cpp | 48 +++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) commit ef5c0e9106bf7a0249b5b2cabf297fb95cd41d31 Merge: e6fa0a4cf 9b799b79a Author: Luigi Ballabio Date: Sun, 28 Sep 2025 23:31:05 +0200 Explicit return type for lambdas to work with expression templates (#2338) commit 41b5e10f6a70aa0f21636888e4acace51f4fe0a2 Author: Ryan Gibson Date: Fri, 26 Sep 2025 12:01:18 -0400 Add date adjustment rules for 30/365 ql/time/daycounters/thirty365.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit e6fa0a4cfacdbbea4b48e8aa627d450187f3861a Merge: bb2c2abec 4b5b53cd1 Author: Luigi Ballabio Date: Fri, 26 Sep 2025 16:03:50 +0200 Improvement to Latent model execution time (#2336) commit bb2c2abecc35d040a1551feab4af0e793ca3ab47 Author: Vladimir Polin Date: Thu, 25 Sep 2025 10:14:14 -0700 Removed trailing spaces in quantlibbenchmark.cpp, no functionality affected test-suite/quantlibbenchmark.cpp | 164 +++++++++++++++++++-------------------- 1 file changed, 82 insertions(+), 82 deletions(-) commit 856785f13b7fa3c43adbcaa87f7ceb7cc50bbcf4 Merge: 0bc442057 fb05b3a3d Author: Luigi Ballabio Date: Fri, 26 Sep 2025 15:41:39 +0200 Simplify and generalize inflationPeriod (#2334) commit 0bc4420578f891b050c192010164e44573fa27c6 Author: Luigi Ballabio Date: Fri, 26 Sep 2025 08:17:29 +0200 Remove unused variable ql/pricingengines/basket/mceuropeanbasketengine.hpp | 6 ------ 1 file changed, 6 deletions(-) commit 4b5b53cd14b80036f03dc32bfa5f76675c7d6d12 Author: Vladimir Polin Date: Thu, 25 Sep 2025 12:30:14 -0700 Improvement to Latent model execution time and the most heavy testGauss test/benchmark. Before the improvement NthToDefaultTests/testGauss : 48.7896s After the improvement NthToDefaultTests/testGauss : 27.3736s Tail spaces removed. .../credit/defaultprobabilitylatentmodel.hpp | 94 ++++++++++++---------- 1 file changed, 51 insertions(+), 43 deletions(-) commit fb05b3a3dd930ca43774e13adc52a268a0140b62 Author: Eugene Toder Date: Thu, 25 Sep 2025 10:54:49 -0400 Simplify and generalize inflationPeriod ql/termstructures/inflationtermstructure.cpp | 34 +++++----------------------- 1 file changed, 6 insertions(+), 28 deletions(-) commit ec1db2a0bcddf10512ac942957afed7601b71c1d Merge: 8a6f07870 ea918d553 Author: Luigi Ballabio Date: Thu, 25 Sep 2025 15:23:29 +0200 Speedup Sobol Sequence Generator by transposing directionIntegers_ matrix (#2333) commit ea918d553ecba46a5922eb0e1dd02661c9bbe357 Author: Daniel Martinez Davies <70523811+danielmartinezdavies@users.noreply.github.com> Date: Tue, 23 Sep 2025 21:02:20 +0200 Transpose SobolRsg directionIntegers_ matrix ql/math/randomnumbers/sobolrsg.cpp | 74 +++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 37 deletions(-) commit 8a6f078701e5d4af6a3f443efbe855180a1a20a5 Author: Luigi Ballabio Date: Tue, 23 Sep 2025 09:07:00 +0200 Don't use vector if no linear algebra is used .../futures/discountingperpetualfuturesengine.cpp | 14 +++++------ .../futures/discountingperpetualfuturesengine.hpp | 28 ++++++++++++---------- test-suite/perpetualfutures.cpp | 2 +- 3 files changed, 23 insertions(+), 21 deletions(-) commit 0ea39f6eb380ed1ba831c583333afd4076b8a856 Author: Luigi Ballabio Date: Fri, 19 Sep 2025 18:36:04 +0200 Don't run CI when pushing a tag Not needed in our workflow: most likely, it would be a duplicate of the build on the corresponding branch. .github/workflows/cmake.yml | 6 +++++- .github/workflows/doxygen.yml | 6 +++++- .github/workflows/filelists.yml | 6 +++++- .github/workflows/headers.yml | 6 +++++- .github/workflows/linux.yml | 6 +++++- .github/workflows/macos.yml | 6 +++++- .github/workflows/msvc.yml | 6 +++++- .github/workflows/test-times.yml | 6 +++++- 8 files changed, 40 insertions(+), 8 deletions(-) commit 5412fc6354cba57f737612c5fde23f5b09c29d86 Author: Luigi Ballabio Date: Fri, 19 Sep 2025 17:51:35 +0200 Add workflow to publish release candidates .github/workflows/publish-release-candidate.yml | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) commit dbfb252daa810d33d2f1b4b96f8e3892fc9652a6 Author: Luigi Ballabio Date: Fri, 19 Sep 2025 16:12:54 +0200 Stop tool when an error occurs tools/tgz2zip | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 33ac067bfafcac8832a08d53faddb7a025c47d51 Merge: add169c41 700a26d3e Author: Luigi Ballabio Date: Thu, 18 Sep 2025 18:20:21 +0200 Add Singapore public holidays for 2025 (#2330) commit 700a26d3e5dc7c1a8fedb9246f932a33c7ea5c97 Author: Sergio Araujo Date: Thu, 18 Sep 2025 15:02:48 +0100 Added public holidays for singapore 2025 ql/time/calendars/singapore.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 9b799b79ac8b5f70fc892e4b32747b5a51f69a65 Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com> Date: Thu, 18 Sep 2025 08:50:46 +0100 Explicit return type for lambdas to work with expression templates ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit add169c41c7492d00caf2127483f8d811c8775bc Author: Luigi Ballabio Date: Wed, 17 Sep 2025 23:01:41 +0200 Don't run workflows on automated PRs that don't change code .github/workflows/copyrights.yml | 3 +-- .github/workflows/license-url.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) commit 87a64b409c3f50d8f14bc50f1894c3cd0df561f6 Merge: c6d49d20d e0e6467a6 Author: Luigi Ballabio Date: Thu, 18 Sep 2025 08:53:07 +0200 Fixing naming and styles in pull request #2315 (perpetual futures) (#2329) commit e0e6467a6c4097a3da680a33f09387949ee6df36 Author: drxyzw Date: Thu, 18 Sep 2025 08:39:06 +0800 Fixing styles .../futures/discountingperpetualfuturesengine.hpp | 2 +- test-suite/perpetualfutures.cpp | 26 +++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) commit c6d49d20d81c39066a8d8a4f86ee489652f6ecb4 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Wed, 17 Sep 2025 20:01:41 +0000 Update copyright list in license LICENSE.TXT | 1 + 1 file changed, 1 insertion(+) commit 73e34ee8f707826ad2086cae7ed879ba35470fa0 Merge: 1ddb76676 5549d0373 Author: Luigi Ballabio Date: Wed, 17 Sep 2025 22:01:30 +0200 Perpetual futures (#2315) commit 1ddb76676625e047554a8d587f7dc99f0c2a344a Author: Luigi Ballabio Date: Wed, 17 Sep 2025 15:35:12 +0200 Add macos-15 image to CI builds .github/workflows/macos-nondefault.yml | 2 +- .github/workflows/macos.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 89d273e3d17f7cbceb3a05160518ada8902e3bf1 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Wed, 17 Sep 2025 14:22:35 +0000 Update generated headers ql/pricingengines/all.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit db2f481564d0554d750d10c853a2f9382fce7c42 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Wed, 17 Sep 2025 14:07:55 +0000 Update old license links ql/pricingengines/bacheliercalculator.cpp | 2 +- ql/pricingengines/bacheliercalculator.hpp | 2 +- test-suite/bacheliercalculator.cpp | 2 +- test-suite/blackcalculator.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit e7402d17cdbfe2d5e55517d474c3212c8ead6269 Merge: 434c5934b 17f1a1bed Author: Luigi Ballabio Date: Wed, 17 Sep 2025 16:07:41 +0200 BachelierCalculator (#2316) commit 434c5934b1de1d4b178784635f1615cbcf7b87ea Author: Luigi Ballabio Date: Wed, 17 Sep 2025 08:02:19 +0200 Add workflow to keep qldefines.hpp.cfg up to date .github/workflows/sync-qldefines.yml | 24 ++++++++++++++++++++++++ ql/qldefines.hpp | 3 ++- ql/qldefines.hpp.cfg | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) commit 17f1a1bed716abb5bed26f12bb8c004a9818687a Author: kp9991 Date: Wed, 17 Sep 2025 12:14:38 +1000 Fixing zero vol for Black ql/pricingengines/blackcalculator.cpp | 126 +++++++++++++++++++++++++++++++++- ql/pricingengines/blackcalculator.hpp | 4 -- test-suite/blackcalculator.cpp | 111 ++++++++++++++++++++++++++++++ 3 files changed, 236 insertions(+), 5 deletions(-) commit f865e5b7a4caebe8adc93b5f88cf667fd9a75da5 Author: kp9991 Date: Wed, 17 Sep 2025 11:26:43 +1000 Handling zero vol in bachelier, adding a zero vol unit test ql/pricingengines/bacheliercalculator.cpp | 2 +- ql/pricingengines/bacheliercalculator.hpp | 26 ++++--- test-suite/bacheliercalculator.cpp | 116 ++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+), 10 deletions(-) commit b2e69dd730aef7c808dcf7f5bbe0c0ada8a63ecc Author: drxyzw Date: Wed, 17 Sep 2025 09:24:56 +0800 Fixing typos and adding a comment ql/instruments/perpetualfutures.hpp | 1 + ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 2 +- test-suite/perpetualfutures.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) commit cc621e1528f59015f4a70c749331ed4cd2f6c6b5 Author: drxyzw Date: Wed, 17 Sep 2025 09:00:56 +0800 Addressing feedback in pull request including name change of funding types (cherry picked from commit 2472c6c2d737ae05553e0b8a7d35f0f788c37add) ql/instruments/perpetualfutures.cpp | 22 +++++++------- ql/instruments/perpetualfutures.hpp | 10 +++---- .../futures/discountingperpetualfuturesengine.cpp | 28 ++++++++++-------- .../futures/discountingperpetualfuturesengine.hpp | 21 ++++++------- test-suite/perpetualfutures.cpp | 34 +++++++++++----------- 5 files changed, 61 insertions(+), 54 deletions(-) commit 5c3f18d35d4ab83f0ad649c3fffc5f980cfe0e99 Author: drxyzw Date: Wed, 17 Sep 2025 01:16:24 +0800 Addressing feedback in pull request (cherry picked from commit e4f6d0f5a5879f69bc12b1396353d033d6c92ca8) ql/instruments/perpetualfutures.cpp | 1 - ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) commit 7b91c4c6d7c2d710048f8a7a2b784e8894b3be3d Author: Luigi Ballabio Date: Tue, 16 Sep 2025 15:50:45 +0200 Add workflow for preparing a release candidate - update version to 1.XX-rc - update changelog The workflow opens an automated PR; it doesn't commit to master. .github/workflows/prepare-release-candidate.yml | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) commit 88696a35ee6e725755331106220fa32a62b2bc32 Author: Luigi Ballabio Date: Tue, 16 Sep 2025 09:45:14 +0200 Realign ql/pricingengines/blackcalculator.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7432e4695bd205c27e81da98522d66fcc126471c Merge: fca1dd02c 95f817157 Author: Luigi Ballabio Date: Tue, 16 Sep 2025 09:31:29 +0200 Replace ImpliedVolatilityHelper with lambda (#2318) commit 5782d1213b1d198fd5bd7ed453159879a319fa8b Author: Luigi Ballabio Date: Tue, 16 Sep 2025 09:14:59 +0200 Add new files to all compilations configure.ac | 1 + ql/CMakeLists.txt | 5 ++++ ql/instruments/Makefile.am | 2 ++ ql/pricingengines/Makefile.am | 3 ++- ql/pricingengines/futures/Makefile.am | 45 +++++++++++++++++++++++++++++++++++ ql/pricingengines/futures/all.hpp | 4 ++++ test-suite/CMakeLists.txt | 1 + test-suite/Makefile.am | 1 + 8 files changed, 61 insertions(+), 1 deletion(-) commit df6eacc54db0c2f029869b70b64fa672fa1abcda Author: kp9991 Date: Tue, 16 Sep 2025 07:38:29 +1000 Removing specific boost config QuantLib.props | 3 --- 1 file changed, 3 deletions(-) commit 80f490792ee7d85a280370974f26324fe422bf06 Author: kp9991 Date: Tue, 16 Sep 2025 07:37:54 +1000 Removing specific boost config QuantLib.props | 2 +- QuantLib.vcxproj | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) commit 0041ed85989a7e7cf8619ec38c32b17aed35cd10 Author: kp9991 Date: Tue, 16 Sep 2025 07:36:03 +1000 Keeping virtual in blackcalculator as before, removing from bacherliercalculator ql/pricingengines/bacheliercalculator.hpp | 30 +++++++++++++++--------------- ql/pricingengines/blackcalculator.hpp | 18 +++++++++--------- 2 files changed, 24 insertions(+), 24 deletions(-) commit 8d9948db01ff045dad5388b9881a3fd3e4af3d60 Author: kp9991 Date: Tue, 16 Sep 2025 07:07:56 +1000 Making more functions virtual ql/pricingengines/bacheliercalculator.hpp | 18 +++++++++--------- ql/pricingengines/blackcalculator.hpp | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) commit 0e1669bd01a51b836bdca6d303c1978c9f7136f3 Author: kp9991 Date: Tue, 16 Sep 2025 06:54:45 +1000 Removing diffusioncalculator from Makefile ql/pricingengines/Makefile.am | 2 -- ql/pricingengines/blackcalculator.cpp | 6 +++--- ql/pricingengines/blackcalculator.hpp | 3 +-- 3 files changed, 4 insertions(+), 7 deletions(-) commit 48d2b36a38815e99cc1d16363d587268a7595fbc Author: kp9991 Date: Tue, 16 Sep 2025 06:50:29 +1000 Removing diffusion calculator QuantLib.props | 3 + QuantLib.vcxproj | 3 +- QuantLib.vcxproj.filters | 6 -- ql/CMakeLists.txt | 2 - ql/pricingengines/all.hpp | 1 - ql/pricingengines/bacheliercalculator.cpp | 108 ++++++++++------------- ql/pricingengines/bacheliercalculator.hpp | 73 ++++++++++------ ql/pricingengines/blackcalculator.cpp | 6 +- ql/pricingengines/blackcalculator.hpp | 61 ++++++++----- ql/pricingengines/diffusioncalculator.cpp | 44 ---------- ql/pricingengines/diffusioncalculator.hpp | 138 ------------------------------ test-suite/bacheliercalculator.cpp | 1 - test-suite/blackcalculator.cpp | 1 - 13 files changed, 138 insertions(+), 309 deletions(-) commit 95f817157d32cb1bf88cb9855c54c6608cbec95c Author: Luigi Ballabio Date: Mon, 15 Sep 2025 11:51:32 +0200 Replace ImpliedVolatilityHelper with lambda ql/models/calibrationhelper.cpp | 18 ++---------------- ql/models/calibrationhelper.hpp | 1 - 2 files changed, 2 insertions(+), 17 deletions(-) commit eb0b08bb5f875f3e3b043014349adac3c38cea9f Author: kp9991 Date: Mon, 15 Sep 2025 05:55:33 +1000 Reverting QuantLib.props changes from the project file QuantLib.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c1bf57d4c3546f8fe49b2817d3f8b89ef6d076bb Author: kp9991 Date: Mon, 15 Sep 2025 05:51:20 +1000 Removing boost from quantlib.props QuantLib.props | 3 --- 1 file changed, 3 deletions(-) commit 0d3da849ce7da52c96e0d67e98bea7adc271b21f Author: kp9991 Date: Mon, 15 Sep 2025 05:47:05 +1000 Removing boost from quantlib.props QuantLib.props | 3 --- QuantLib.vcxproj | 1 - 2 files changed, 4 deletions(-) commit 6ae8ba7537d13f0380336d998433b3417b07387d Author: kp9991 Date: Mon, 15 Sep 2025 05:39:41 +1000 retrigger checks commit 0c1be5ba6aa4bc87032df3b15b1980c737d8414b Author: kp9991 Date: Sun, 14 Sep 2025 08:42:10 +1000 Reverting boost inclusion specific to my setup QuantLib.props | 16 ---------------- QuantLib.vcxproj | 1 - 2 files changed, 17 deletions(-) commit c5e612b0552bcbe64ca53c08cd2f0598f01e5030 Author: kp9991 Date: Sun, 14 Sep 2025 07:07:24 +1000 Fixing automatic build errors test-suite/bacheliercalculator.cpp | 3 +-- test-suite/blackcalculator.cpp | 4 +--- test-suite/testsuite.vcxproj.filters | 6 ------ 3 files changed, 2 insertions(+), 11 deletions(-) commit 4f0b91f52ea365e92dfb4a3f839d3d6c09144d19 Author: kp9991 Date: Sun, 14 Sep 2025 06:19:06 +1000 Unit tests ql/pricingengines/bacheliercalculator.cpp | 2 - test-suite/Makefile.am | 2 + test-suite/bacheliercalculator.cpp | 196 ++++++++++++++++-------------- test-suite/blackcalculator.cpp | 172 ++++++++++++++------------ 4 files changed, 199 insertions(+), 173 deletions(-) commit a030e02058892b8c03d646755f64d5b5c81f56d9 Author: drxyzw Date: Sun, 14 Sep 2025 00:15:56 +0800 Adding explicit keywork to optional single-argument constructor (cherry picked from commit 0eec7986e4280668fb0f2b1ddd5e8e64ea85c55d) ql/instruments/perpetualfutures.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8587849fd997d9535fb2e6438168624a5467f753 Author: drxyzw Date: Sat, 13 Sep 2025 22:08:39 +0800 Adding references to perpetual futures' specification (cherry picked from commit a9a41e9da916f6e6b11f26208f21181ce9d7561f) ql/instruments/perpetualfutures.hpp | 1 + test-suite/perpetualfutures.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) commit 563aa9bbf01d61dc9bde892adb739d5b755ed132 Author: drxyzw Date: Sat, 13 Sep 2025 19:28:25 +0800 Naming convention of variables (cherry picked from commit 4e13dcdc6c6fa1eb9b1898ff7fc691c8be72db10) .../futures/discountingperpetualfuturesengine.cpp | 86 +++++++++++----------- test-suite/perpetualfutures.cpp | 22 +++--- 2 files changed, 54 insertions(+), 54 deletions(-) commit 2815d456b436278c3ef7d357deaa9b8da3ac1721 Author: drxyzw Date: Sat, 13 Sep 2025 19:10:32 +0800 Adding reference to prevent memory leak in perpetual futures pricer (cherry picked from commit 82b36b931f70ac029e80386a82524c4991a084b2) ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 4 ++-- ql/pricingengines/futures/discountingperpetualfuturesengine.hpp | 2 +- test-suite/perpetualfutures.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 716dace56f693ea756042c4158067192269c0830 Author: drxyzw Date: Sat, 13 Sep 2025 13:53:57 +0800 Removing reference of discounting perpetual fortures engine for SWIG (cherry picked from commit de2acc42c62d4817b78384b3ed9dc2122e2864f8) .../futures/discountingperpetualfuturesengine.cpp | 22 ++++++++++---------- .../futures/discountingperpetualfuturesengine.hpp | 24 +++++++++++----------- test-suite/perpetualfutures.cpp | 3 +-- 3 files changed, 24 insertions(+), 25 deletions(-) commit 6070dee2bc7c46bf7bda11264fae357323650d20 Author: drxyzw Date: Tue, 9 Sep 2025 05:50:09 +0800 Added all.hpp to new directories (cherry picked from commit 953f0201f49b6c12d0a4f3e3c310a571845ae175) QuantLib.vcxproj | 1 + QuantLib.vcxproj.filters | 3 +++ ql/instruments/all.hpp | 1 + ql/instruments/perpetualfutures.cpp | 1 - ql/instruments/perpetualfutures.hpp | 10 ++++++---- ql/pricingengines/all.hpp | 1 + ql/pricingengines/futures/all.hpp | 1 + 7 files changed, 13 insertions(+), 5 deletions(-) commit d83766967355a7a849bcf481860935bb915d48f2 Author: drxyzw Date: Mon, 8 Sep 2025 04:21:32 +0800 Test of continuous-time perpetual futures (cherry picked from commit f4bf5601395e9ddd44d546359f82568878600e55) .../futures/discountingperpetualfuturesengine.cpp | 2 +- test-suite/perpetualfutures.cpp | 75 +++++++++++++--------- 2 files changed, 47 insertions(+), 30 deletions(-) commit 797c2a2a3264c5b4c0575e072a9a0683922e1050 Author: drxyzw Date: Mon, 8 Sep 2025 03:48:17 +0800 Better match for discrete perpetual futures (cherry picked from commit 19eb7b6972d5339d4538ad0c7201a5368d82dde7) ql/instruments/perpetualfutures.hpp | 4 + .../futures/discountingperpetualfuturesengine.cpp | 87 ++++++++++++++-------- test-suite/perpetualfutures.cpp | 69 ++++++++++++++--- 3 files changed, 119 insertions(+), 41 deletions(-) commit 5559ecc76520681ff84021dcf4cbba97456bdbdb Author: drxyzw Date: Sun, 7 Sep 2025 23:47:35 +0800 Test for AHJ alternative funding type of perpetual futures (cherry picked from commit 79b6620cf870b74f91c328fd988ea9c5d4312152) ql/instruments/perpetualfutures.cpp | 2 ++ ql/pricingengines/futures/discountingperpetualfuturesengine.cpp | 4 ++-- test-suite/perpetualfutures.cpp | 9 ++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) commit c9f120cb8ca294a849b8f6e0977440a55503046e Author: drxyzw Date: Sun, 7 Sep 2025 23:36:04 +0800 Test for linear payoff of perpetual futures (cherry picked from commit db6a48f3b48d5b83d73a5e6fe66cb05a45bc01b1) ql/instruments/perpetualfutures.cpp | 41 ++++- ql/instruments/perpetualfutures.hpp | 31 +++- .../futures/discountingperpetualfuturesengine.cpp | 165 ++++++++++++++++++--- .../futures/discountingperpetualfuturesengine.hpp | 7 +- ql/time/period.cpp | 6 + test-suite/perpetualfutures.cpp | 103 +++++++++++++ test-suite/testsuite.vcxproj | 1 + test-suite/testsuite.vcxproj.filters | 5 +- 8 files changed, 324 insertions(+), 35 deletions(-) commit e6d29d70bd5a96b111fe56074cefa4bef79df5f9 Author: drxyzw Date: Sat, 6 Sep 2025 18:35:33 +0800 Pricing engine for perpetual futures (cherry picked from commit 6cf22ddc3d2fd19bdc0cfce1a5f8c8dda2f4494c) QuantLib.vcxproj | 2 + QuantLib.vcxproj.filters | 9 ++ ql/instruments/perpetualfutures.cpp | 2 +- ql/instruments/perpetualfutures.hpp | 2 +- .../futures/discountingperpetualfuturesengine.cpp | 114 +++++++++++++++++++++ .../futures/discountingperpetualfuturesengine.hpp | 68 ++++++++++++ 6 files changed, 195 insertions(+), 2 deletions(-) commit 6d3c22cd8ed2e20116f692a15c491969882bcace Author: drxyzw Date: Fri, 5 Sep 2025 06:54:54 +0800 A trade object class for perpetual futures (cherry picked from commit d8decf2d5b01ad725a242cdaff6852e2249b9531) QuantLib.vcxproj | 2 ++ QuantLib.vcxproj.filters | 8 ++++- ql/instruments/perpetualfutures.cpp | 60 +++++++++++++++++++++++++++++++++ ql/instruments/perpetualfutures.hpp | 67 +++++++++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+), 1 deletion(-) commit bc4f16a605e43d846923a1f82adcec722ae49d02 Author: kp9991 Date: Sat, 13 Sep 2025 16:12:51 +1000 Adding unit tests ql/pricingengines/bacheliercalculator.cpp | 4 +- test-suite/CMakeLists.txt | 2 + test-suite/bacheliercalculator.cpp | 408 ++++++++++++++++++++++++++++++ test-suite/blackcalculator.cpp | 316 +++++++++++++++++++++++ test-suite/testsuite.vcxproj | 4 +- test-suite/testsuite.vcxproj.filters | 14 +- 6 files changed, 745 insertions(+), 3 deletions(-) commit c03f553d93347fb26e97800c6a5931cd6552ed93 Author: kp9991 Date: Fri, 12 Sep 2025 14:46:07 +1000 Adding headers to Makefile.hpp ql/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) commit 898881b7dcbca0dc65c634bc76d53a25303e7313 Author: kp9991 Date: Fri, 12 Sep 2025 14:38:05 +1000 Adding files to Makefile.am ql/pricingengines/Makefile.am | 4 ++++ 1 file changed, 4 insertions(+) commit b6da6b7c989843f7dce9d307f76c75075bd7ecc5 Author: kp9991 Date: Fri, 12 Sep 2025 14:29:48 +1000 Update make files ql/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) commit 0ca21b9544036b90cc4e669f1b0fdfb2b439ba3f Author: kp9991 Date: Fri, 12 Sep 2025 14:13:28 +1000 Making DiffusionCalculator constructor protected ql/pricingengines/diffusioncalculator.hpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) commit 960e0ac13518c17a8c631386a081e6ab51ebfd08 Author: kp9991 Date: Fri, 12 Sep 2025 10:19:55 +1000 Removing redundant line ql/pricingengines/bacheliercalculator.cpp | 3 --- 1 file changed, 3 deletions(-) commit 3cd4ca96554b7fd908e61e1eaba065bec8fd46a2 Author: kp9991 Date: Wed, 10 Sep 2025 17:58:01 +1000 Aligning the style of how the Bachelier greeks are computed to the Black Scholes impl QuantLib.vcxproj | 3 - QuantLib.vcxproj.filters | 3 - ql/pricingengines/all.hpp | 1 + ql/pricingengines/bacheliercalculator.cpp | 292 ++++++++++++++++-------------- ql/pricingengines/bacheliercalculator.hpp | 7 +- 5 files changed, 162 insertions(+), 144 deletions(-) commit fca1dd02c3d0dd273672874ebfc5f0ea3ed47a55 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 20:57:09 +0000 Bump actions/stale from 9 to 10 Bumps [actions/stale](https://github.com/actions/stale) from 9 to 10. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v9...v10) --- updated-dependencies: - dependency-name: actions/stale dependency-version: '10' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0f5fd620ba2f2cb5b7bc0f5cc3917d00395993a0 Author: Luigi Ballabio Date: Mon, 8 Sep 2025 21:39:44 +0200 Avoid failing jobs when dependabot pushes .github/workflows/copyrights.yml | 6 +++--- .github/workflows/generated-headers.yml | 6 +++--- .github/workflows/includes.yml | 6 +++--- .github/workflows/license-url.yml | 6 +++--- .github/workflows/misspell.yml | 4 ++-- .github/workflows/namespaces.yml | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) commit b72cd5f25b4413893a0b3972110d7cef1d2f5be2 Author: kp9991 Date: Fri, 5 Sep 2025 14:26:05 +1000 bacheliercalculator and blackcalculator split up QuantLib.props | 5 +- QuantLib.vcxproj | 10 +- QuantLib.vcxproj.filters | 17 +- ql/pricingengines/all.hpp | 1 + ql/pricingengines/bacheliercalculator.cpp | 349 ++++++++++++++++++++++++++++++ ql/pricingengines/bacheliercalculator.hpp | 129 +++++++++++ ql/pricingengines/blackcalculator.cpp | 6 +- ql/pricingengines/blackcalculator.hpp | 58 ++--- ql/pricingengines/diffusioncalculator.cpp | 44 ++++ ql/pricingengines/diffusioncalculator.hpp | 134 ++++++++++++ 10 files changed, 710 insertions(+), 43 deletions(-) commit 06033fe4f324a0ec9c83f959e930df1b873804f2 Merge: 3c22d1b6b 26ec43f7e Author: Luigi Ballabio Date: Mon, 1 Sep 2025 17:40:46 +0200 Move BlackDeltaCalculator and DeltaVolQuote from experimental to core (#2309) commit 26ec43f7e8c20500ba18b145ca94e81138dc91b4 Author: Luigi Ballabio Date: Mon, 1 Sep 2025 15:48:51 +0200 Move BlackDeltaCalculator and DeltaVolQuote from experimental to core QuantLib.vcxproj | 6 +- QuantLib.vcxproj.filters | 18 +- cmake/GenerateHeaders.cmake | 5 + ql/CMakeLists.txt | 6 +- ql/experimental/Makefile.am | 1 - .../barrieroption/vannavolgabarrierengine.cpp | 2 +- .../barrieroption/vannavolgabarrierengine.hpp | 2 +- .../vannavolgadoublebarrierengine.hpp | 4 +- ql/experimental/fx/Makefile.am | 28 +-- ql/experimental/fx/all.hpp | 2 - ql/experimental/fx/blackdeltacalculator.hpp | 181 +---------------- ql/experimental/fx/deltavolquote.hpp | 65 +------ ql/pricingengines/Makefile.am | 2 + ql/pricingengines/all.hpp | 1 + .../fx => pricingengines}/blackdeltacalculator.cpp | 2 +- ql/pricingengines/blackdeltacalculator.hpp | 215 +++++++++++++++++++++ ql/quotes/Makefile.am | 2 + ql/quotes/all.hpp | 1 + ql/{experimental/fx => quotes}/deltavolquote.cpp | 2 +- ql/quotes/deltavolquote.hpp | 83 ++++++++ test-suite/blackdeltacalculator.cpp | 4 +- 21 files changed, 348 insertions(+), 284 deletions(-) commit 3c22d1b6bc4b02ba1d41f81b59afc4d7e505dc74 Author: Luigi Ballabio Date: Mon, 1 Sep 2025 13:13:14 +0200 Add gcc 15 to CI runs .github/workflows/linux-full-tests.yml | 11 ++++++++--- .github/workflows/linux-nondefault.yml | 11 ++++++++--- .github/workflows/linux.yml | 10 +++++----- 3 files changed, 21 insertions(+), 11 deletions(-) commit 62622f096efcc62f780fea07e5e2f358bfff12af Author: Luigi Ballabio Date: Mon, 1 Sep 2025 09:59:13 +0200 Move default Ubuntu devenv image to plucky, add questing, remove older distros .github/workflows/devenv-images.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a13ab378b06d692fcc9cb6d903ad40c5717b3f6e Merge: 46284d85c 617aa21ee Author: Luigi Ballabio Date: Mon, 1 Sep 2025 09:54:09 +0200 Better docs string BlackDeltaCalculator (#2301) commit 617aa21ee67bc53995fa2cbb0812ba2473f7c6f0 Author: Luigi Ballabio Date: Mon, 1 Sep 2025 08:57:03 +0200 Helper classes no longer need to be friends ql/experimental/fx/blackdeltacalculator.hpp | 3 --- 1 file changed, 3 deletions(-) commit c8bf5f2127fc72c7306695e3956e79d077a6cd5f Author: paolodelia99 Date: Sun, 31 Aug 2025 14:59:17 +0200 Add deprecated method and classes, refactor the code as suggested ql/experimental/fx/blackdeltacalculator.cpp | 85 +++++++++++++++-------------- ql/experimental/fx/blackdeltacalculator.hpp | 19 +++++-- 2 files changed, 59 insertions(+), 45 deletions(-) commit 46284d85ca45fbf518d10766fafce3c4bed9a60e Author: Luigi Ballabio Date: Sat, 30 Aug 2025 22:59:33 +0200 Remove obsolete script tools/check_all_inclusions.sh | 10 ------ tools/check_inclusions.py | 76 ------------------------------------------- 2 files changed, 86 deletions(-) commit 3a0d866ac8c47374cde4ad82226f58e468391b0b Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Fri, 29 Aug 2025 12:19:00 +0000 Update old license links Docs/pages/authors.docs | 2 +- Docs/pages/config.docs | 2 +- Docs/pages/coreclasses.docs | 2 +- Docs/pages/currencies.docs | 2 +- Docs/pages/datetime.docs | 2 +- Docs/pages/engines.docs | 2 +- Docs/pages/examples.docs | 2 +- Docs/pages/findiff.docs | 2 +- Docs/pages/fixedincome.docs | 2 +- Docs/pages/history.docs | 2 +- Docs/pages/index.docs | 2 +- Docs/pages/instruments.docs | 2 +- Docs/pages/lattices.docs | 2 +- Docs/pages/math.docs | 2 +- Docs/pages/mcarlo.docs | 2 +- Docs/pages/patterns.docs | 2 +- Docs/pages/processes.docs | 2 +- Docs/pages/resources.docs | 2 +- Docs/pages/termstructures.docs | 2 +- Examples/BasketLosses/BasketLosses.cpp | 2 +- Examples/BermudanSwaption/BermudanSwaption.cpp | 2 +- Examples/Bonds/Bonds.cpp | 2 +- Examples/CDS/CDS.cpp | 2 +- Examples/CVAIRS/CVAIRS.cpp | 2 +- Examples/CallableBonds/CallableBonds.cpp | 2 +- Examples/ConvertibleBonds/ConvertibleBonds.cpp | 2 +- Examples/DiscreteHedging/DiscreteHedging.cpp | 2 +- Examples/EquityOption/EquityOption.cpp | 2 +- Examples/FRA/FRA.cpp | 2 +- Examples/FittedBondCurve/FittedBondCurve.cpp | 2 +- Examples/Gaussian1dModels/Gaussian1dModels.cpp | 2 +- Examples/GlobalOptimizer/GlobalOptimizer.cpp | 2 +- Examples/LatentModel/LatentModel.cpp | 2 +- Examples/MarketModels/MarketModels.cpp | 2 +- Examples/MulticurveBootstrapping/MulticurveBootstrapping.cpp | 2 +- Examples/MultidimIntegral/MultidimIntegral.cpp | 2 +- Examples/Replication/Replication.cpp | 2 +- Examples/Repo/Repo.cpp | 2 +- configure.ac | 2 +- fuzz-test-suite/amortizedbondsfuzzer.cpp | 2 +- fuzz-test-suite/fuzzamericanoption.cpp | 2 +- ql/any.hpp | 2 +- ql/auto_link.hpp | 2 +- ql/cashflow.cpp | 2 +- ql/cashflow.hpp | 2 +- ql/cashflows/averagebmacoupon.cpp | 2 +- ql/cashflows/averagebmacoupon.hpp | 2 +- ql/cashflows/capflooredcoupon.cpp | 2 +- ql/cashflows/capflooredcoupon.hpp | 2 +- ql/cashflows/capflooredinflationcoupon.cpp | 2 +- ql/cashflows/capflooredinflationcoupon.hpp | 2 +- ql/cashflows/cashflows.cpp | 2 +- ql/cashflows/cashflows.hpp | 2 +- ql/cashflows/cashflowvectors.cpp | 2 +- ql/cashflows/cashflowvectors.hpp | 2 +- ql/cashflows/cmscoupon.cpp | 2 +- ql/cashflows/cmscoupon.hpp | 2 +- ql/cashflows/conundrumpricer.cpp | 2 +- ql/cashflows/conundrumpricer.hpp | 2 +- ql/cashflows/coupon.cpp | 2 +- ql/cashflows/coupon.hpp | 2 +- ql/cashflows/couponpricer.cpp | 2 +- ql/cashflows/couponpricer.hpp | 2 +- ql/cashflows/cpicoupon.cpp | 2 +- ql/cashflows/cpicoupon.hpp | 2 +- ql/cashflows/cpicouponpricer.cpp | 2 +- ql/cashflows/cpicouponpricer.hpp | 2 +- ql/cashflows/digitalcmscoupon.cpp | 2 +- ql/cashflows/digitalcmscoupon.hpp | 2 +- ql/cashflows/digitalcoupon.cpp | 2 +- ql/cashflows/digitalcoupon.hpp | 2 +- ql/cashflows/digitaliborcoupon.cpp | 2 +- ql/cashflows/digitaliborcoupon.hpp | 2 +- ql/cashflows/dividend.cpp | 2 +- ql/cashflows/dividend.hpp | 2 +- ql/cashflows/duration.cpp | 2 +- ql/cashflows/duration.hpp | 2 +- ql/cashflows/equitycashflow.cpp | 2 +- ql/cashflows/equitycashflow.hpp | 2 +- ql/cashflows/fixedratecoupon.cpp | 2 +- ql/cashflows/fixedratecoupon.hpp | 2 +- ql/cashflows/floatingratecoupon.cpp | 2 +- ql/cashflows/floatingratecoupon.hpp | 2 +- ql/cashflows/iborcoupon.cpp | 2 +- ql/cashflows/iborcoupon.hpp | 2 +- ql/cashflows/indexedcashflow.cpp | 2 +- ql/cashflows/indexedcashflow.hpp | 2 +- ql/cashflows/inflationcoupon.cpp | 2 +- ql/cashflows/inflationcoupon.hpp | 2 +- ql/cashflows/inflationcouponpricer.cpp | 2 +- ql/cashflows/inflationcouponpricer.hpp | 2 +- ql/cashflows/lineartsrpricer.cpp | 2 +- ql/cashflows/lineartsrpricer.hpp | 2 +- ql/cashflows/multipleresetscoupon.cpp | 2 +- ql/cashflows/multipleresetscoupon.hpp | 2 +- ql/cashflows/overnightindexedcoupon.cpp | 2 +- ql/cashflows/overnightindexedcoupon.hpp | 2 +- ql/cashflows/overnightindexedcouponpricer.cpp | 2 +- ql/cashflows/overnightindexedcouponpricer.hpp | 2 +- ql/cashflows/rangeaccrual.cpp | 2 +- ql/cashflows/rangeaccrual.hpp | 2 +- ql/cashflows/rateaveraging.hpp | 2 +- ql/cashflows/replication.cpp | 2 +- ql/cashflows/replication.hpp | 2 +- ql/cashflows/simplecashflow.cpp | 2 +- ql/cashflows/simplecashflow.hpp | 2 +- ql/cashflows/subperiodcoupon.hpp | 2 +- ql/cashflows/timebasket.cpp | 2 +- ql/cashflows/timebasket.hpp | 2 +- ql/cashflows/yoyinflationcoupon.cpp | 2 +- ql/cashflows/yoyinflationcoupon.hpp | 2 +- ql/cashflows/zeroinflationcashflow.cpp | 2 +- ql/cashflows/zeroinflationcashflow.hpp | 2 +- ql/compounding.hpp | 2 +- ql/config.ansi.hpp | 2 +- ql/config.hpp.cfg | 2 +- ql/config.mingw.hpp | 2 +- ql/config.msvc.hpp | 2 +- ql/config.sun.hpp | 2 +- ql/currencies/africa.cpp | 2 +- ql/currencies/africa.hpp | 2 +- ql/currencies/america.cpp | 2 +- ql/currencies/america.hpp | 2 +- ql/currencies/asia.cpp | 2 +- ql/currencies/asia.hpp | 2 +- ql/currencies/crypto.cpp | 2 +- ql/currencies/crypto.hpp | 2 +- ql/currencies/europe.cpp | 2 +- ql/currencies/europe.hpp | 2 +- ql/currencies/exchangeratemanager.cpp | 2 +- ql/currencies/exchangeratemanager.hpp | 2 +- ql/currencies/oceania.cpp | 2 +- ql/currencies/oceania.hpp | 2 +- ql/currency.cpp | 2 +- ql/currency.hpp | 2 +- ql/default.hpp | 2 +- ql/discretizedasset.cpp | 2 +- ql/discretizedasset.hpp | 2 +- ql/errors.cpp | 2 +- ql/errors.hpp | 2 +- ql/event.cpp | 2 +- ql/event.hpp | 2 +- ql/exchangerate.cpp | 2 +- ql/exchangerate.hpp | 2 +- ql/exercise.cpp | 2 +- ql/exercise.hpp | 2 +- ql/experimental/asian/analytic_cont_geom_av_price_heston.cpp | 2 +- ql/experimental/asian/analytic_cont_geom_av_price_heston.hpp | 2 +- ql/experimental/asian/analytic_discr_geom_av_price_heston.cpp | 2 +- ql/experimental/asian/analytic_discr_geom_av_price_heston.hpp | 2 +- ql/experimental/averageois/arithmeticaverageois.cpp | 2 +- ql/experimental/averageois/arithmeticaverageois.hpp | 2 +- ql/experimental/averageois/arithmeticoisratehelper.cpp | 2 +- ql/experimental/averageois/arithmeticoisratehelper.hpp | 2 +- ql/experimental/averageois/averageoiscouponpricer.hpp | 2 +- ql/experimental/averageois/makearithmeticaverageois.cpp | 2 +- ql/experimental/averageois/makearithmeticaverageois.hpp | 2 +- ql/experimental/barrieroption/binomialdoublebarrierengine.hpp | 2 +- ql/experimental/barrieroption/discretizeddoublebarrieroption.cpp | 2 +- ql/experimental/barrieroption/discretizeddoublebarrieroption.hpp | 2 +- ql/experimental/barrieroption/mcdoublebarrierengine.cpp | 2 +- ql/experimental/barrieroption/mcdoublebarrierengine.hpp | 2 +- ql/experimental/barrieroption/perturbativebarrieroptionengine.cpp | 2 +- ql/experimental/barrieroption/perturbativebarrieroptionengine.hpp | 2 +- ql/experimental/barrieroption/quantodoublebarrieroption.cpp | 2 +- ql/experimental/barrieroption/quantodoublebarrieroption.hpp | 2 +- ql/experimental/barrieroption/suowangdoublebarrierengine.cpp | 2 +- ql/experimental/barrieroption/suowangdoublebarrierengine.hpp | 2 +- ql/experimental/barrieroption/vannavolgabarrierengine.cpp | 2 +- ql/experimental/barrieroption/vannavolgabarrierengine.hpp | 2 +- ql/experimental/barrieroption/vannavolgadoublebarrierengine.hpp | 2 +- ql/experimental/barrieroption/vannavolgainterpolation.hpp | 2 +- ql/experimental/basismodels/swaptioncfs.cpp | 2 +- ql/experimental/basismodels/swaptioncfs.hpp | 2 +- ql/experimental/basismodels/tenoroptionletvts.cpp | 2 +- ql/experimental/basismodels/tenoroptionletvts.hpp | 2 +- ql/experimental/basismodels/tenorswaptionvts.cpp | 2 +- ql/experimental/basismodels/tenorswaptionvts.hpp | 2 +- ql/experimental/callablebonds/blackcallablebondengine.cpp | 2 +- ql/experimental/callablebonds/blackcallablebondengine.hpp | 2 +- ql/experimental/callablebonds/callablebond.cpp | 2 +- ql/experimental/callablebonds/callablebond.hpp | 2 +- ql/experimental/callablebonds/callablebondconstantvol.cpp | 2 +- ql/experimental/callablebonds/callablebondconstantvol.hpp | 2 +- ql/experimental/callablebonds/callablebondvolstructure.cpp | 2 +- ql/experimental/callablebonds/callablebondvolstructure.hpp | 2 +- ql/experimental/callablebonds/discretizedcallablefixedratebond.cpp | 2 +- ql/experimental/callablebonds/discretizedcallablefixedratebond.hpp | 2 +- ql/experimental/callablebonds/treecallablebondengine.cpp | 2 +- ql/experimental/callablebonds/treecallablebondengine.hpp | 2 +- ql/experimental/catbonds/catbond.cpp | 2 +- ql/experimental/catbonds/catbond.hpp | 2 +- ql/experimental/catbonds/catrisk.cpp | 2 +- ql/experimental/catbonds/catrisk.hpp | 2 +- ql/experimental/catbonds/montecarlocatbondengine.cpp | 2 +- ql/experimental/catbonds/montecarlocatbondengine.hpp | 2 +- ql/experimental/catbonds/riskynotional.cpp | 2 +- ql/experimental/catbonds/riskynotional.hpp | 2 +- ql/experimental/commodities/commodity.cpp | 2 +- ql/experimental/commodities/commodity.hpp | 2 +- ql/experimental/commodities/commoditycashflow.cpp | 2 +- ql/experimental/commodities/commoditycashflow.hpp | 2 +- ql/experimental/commodities/commoditycurve.cpp | 2 +- ql/experimental/commodities/commoditycurve.hpp | 2 +- ql/experimental/commodities/commodityindex.cpp | 2 +- ql/experimental/commodities/commodityindex.hpp | 2 +- ql/experimental/commodities/commoditypricinghelpers.cpp | 2 +- ql/experimental/commodities/commoditypricinghelpers.hpp | 2 +- ql/experimental/commodities/commoditysettings.cpp | 2 +- ql/experimental/commodities/commoditysettings.hpp | 2 +- ql/experimental/commodities/commoditytype.cpp | 2 +- ql/experimental/commodities/commoditytype.hpp | 2 +- ql/experimental/commodities/commodityunitcost.cpp | 2 +- ql/experimental/commodities/commodityunitcost.hpp | 2 +- ql/experimental/commodities/dateinterval.cpp | 2 +- ql/experimental/commodities/dateinterval.hpp | 2 +- ql/experimental/commodities/energybasisswap.cpp | 2 +- ql/experimental/commodities/energybasisswap.hpp | 2 +- ql/experimental/commodities/energycommodity.cpp | 2 +- ql/experimental/commodities/energycommodity.hpp | 2 +- ql/experimental/commodities/energyfuture.cpp | 2 +- ql/experimental/commodities/energyfuture.hpp | 2 +- ql/experimental/commodities/energyswap.cpp | 2 +- ql/experimental/commodities/energyswap.hpp | 2 +- ql/experimental/commodities/energyvanillaswap.cpp | 2 +- ql/experimental/commodities/energyvanillaswap.hpp | 2 +- ql/experimental/commodities/exchangecontract.hpp | 2 +- ql/experimental/commodities/paymentterm.cpp | 2 +- ql/experimental/commodities/paymentterm.hpp | 2 +- ql/experimental/commodities/petroleumunitsofmeasure.hpp | 2 +- ql/experimental/commodities/pricingperiod.hpp | 2 +- ql/experimental/commodities/quantity.cpp | 2 +- ql/experimental/commodities/quantity.hpp | 2 +- ql/experimental/commodities/unitofmeasure.cpp | 2 +- ql/experimental/commodities/unitofmeasure.hpp | 2 +- ql/experimental/commodities/unitofmeasureconversion.cpp | 2 +- ql/experimental/commodities/unitofmeasureconversion.hpp | 2 +- ql/experimental/commodities/unitofmeasureconversionmanager.cpp | 2 +- ql/experimental/commodities/unitofmeasureconversionmanager.hpp | 2 +- ql/experimental/coupons/cmsspreadcoupon.cpp | 2 +- ql/experimental/coupons/cmsspreadcoupon.hpp | 2 +- ql/experimental/coupons/digitalcmsspreadcoupon.cpp | 2 +- ql/experimental/coupons/digitalcmsspreadcoupon.hpp | 2 +- ql/experimental/coupons/lognormalcmsspreadpricer.cpp | 2 +- ql/experimental/coupons/lognormalcmsspreadpricer.hpp | 2 +- ql/experimental/coupons/proxyibor.cpp | 2 +- ql/experimental/coupons/proxyibor.hpp | 2 +- ql/experimental/coupons/quantocouponpricer.cpp | 2 +- ql/experimental/coupons/quantocouponpricer.hpp | 2 +- ql/experimental/coupons/strippedcapflooredcoupon.cpp | 2 +- ql/experimental/coupons/strippedcapflooredcoupon.hpp | 2 +- ql/experimental/coupons/swapspreadindex.cpp | 2 +- ql/experimental/coupons/swapspreadindex.hpp | 2 +- ql/experimental/credit/basecorrelationlossmodel.hpp | 2 +- ql/experimental/credit/basecorrelationstructure.cpp | 2 +- ql/experimental/credit/basecorrelationstructure.hpp | 2 +- ql/experimental/credit/basket.cpp | 2 +- ql/experimental/credit/basket.hpp | 2 +- ql/experimental/credit/binomiallossmodel.hpp | 2 +- ql/experimental/credit/blackcdsoptionengine.cpp | 2 +- ql/experimental/credit/blackcdsoptionengine.hpp | 2 +- ql/experimental/credit/cdo.cpp | 2 +- ql/experimental/credit/cdo.hpp | 2 +- ql/experimental/credit/cdsoption.cpp | 2 +- ql/experimental/credit/cdsoption.hpp | 2 +- ql/experimental/credit/constantlosslatentmodel.hpp | 2 +- ql/experimental/credit/correlationstructure.cpp | 2 +- ql/experimental/credit/correlationstructure.hpp | 2 +- ql/experimental/credit/defaultevent.cpp | 2 +- ql/experimental/credit/defaultevent.hpp | 2 +- ql/experimental/credit/defaultlossmodel.hpp | 2 +- ql/experimental/credit/defaultprobabilitykey.cpp | 2 +- ql/experimental/credit/defaultprobabilitykey.hpp | 2 +- ql/experimental/credit/defaultprobabilitylatentmodel.hpp | 2 +- ql/experimental/credit/defaulttype.cpp | 2 +- ql/experimental/credit/defaulttype.hpp | 2 +- ql/experimental/credit/distribution.cpp | 2 +- ql/experimental/credit/distribution.hpp | 2 +- ql/experimental/credit/factorspreadedhazardratecurve.hpp | 2 +- ql/experimental/credit/gaussianlhplossmodel.cpp | 2 +- ql/experimental/credit/gaussianlhplossmodel.hpp | 2 +- ql/experimental/credit/homogeneouspooldef.hpp | 2 +- ql/experimental/credit/inhomogeneouspooldef.hpp | 2 +- ql/experimental/credit/integralcdoengine.cpp | 2 +- ql/experimental/credit/integralcdoengine.hpp | 2 +- ql/experimental/credit/integralntdengine.cpp | 2 +- ql/experimental/credit/integralntdengine.hpp | 2 +- ql/experimental/credit/interpolatedaffinehazardratecurve.hpp | 2 +- ql/experimental/credit/issuer.cpp | 2 +- ql/experimental/credit/issuer.hpp | 2 +- ql/experimental/credit/loss.hpp | 2 +- ql/experimental/credit/lossdistribution.cpp | 2 +- ql/experimental/credit/lossdistribution.hpp | 2 +- ql/experimental/credit/midpointcdoengine.cpp | 2 +- ql/experimental/credit/midpointcdoengine.hpp | 2 +- ql/experimental/credit/nthtodefault.cpp | 2 +- ql/experimental/credit/nthtodefault.hpp | 2 +- ql/experimental/credit/onefactoraffinesurvival.hpp | 2 +- ql/experimental/credit/onefactorcopula.cpp | 2 +- ql/experimental/credit/onefactorcopula.hpp | 2 +- ql/experimental/credit/onefactorgaussiancopula.cpp | 2 +- ql/experimental/credit/onefactorgaussiancopula.hpp | 2 +- ql/experimental/credit/onefactorstudentcopula.cpp | 2 +- ql/experimental/credit/onefactorstudentcopula.hpp | 2 +- ql/experimental/credit/pool.cpp | 2 +- ql/experimental/credit/pool.hpp | 2 +- ql/experimental/credit/randomdefaultlatentmodel.hpp | 2 +- ql/experimental/credit/randomdefaultmodel.cpp | 2 +- ql/experimental/credit/randomdefaultmodel.hpp | 2 +- ql/experimental/credit/randomlosslatentmodel.hpp | 2 +- ql/experimental/credit/recoveryratemodel.cpp | 2 +- ql/experimental/credit/recoveryratemodel.hpp | 2 +- ql/experimental/credit/recoveryratequote.cpp | 2 +- ql/experimental/credit/recoveryratequote.hpp | 2 +- ql/experimental/credit/recursivelossmodel.hpp | 2 +- ql/experimental/credit/riskyassetswap.cpp | 2 +- ql/experimental/credit/riskyassetswap.hpp | 2 +- ql/experimental/credit/riskyassetswapoption.cpp | 2 +- ql/experimental/credit/riskyassetswapoption.hpp | 2 +- ql/experimental/credit/saddlepointlossmodel.hpp | 2 +- ql/experimental/credit/spotlosslatentmodel.hpp | 2 +- ql/experimental/credit/spreadedhazardratecurve.hpp | 2 +- ql/experimental/credit/syntheticcdo.cpp | 2 +- ql/experimental/credit/syntheticcdo.hpp | 2 +- ql/experimental/exoticoptions/analyticholderextensibleoptionengine.hpp | 2 +- .../exoticoptions/analyticpartialtimebarrieroptionengine.hpp | 2 +- ql/experimental/exoticoptions/analyticpdfhestonengine.hpp | 2 +- ql/experimental/exoticoptions/analytictwoassetbarrierengine.hpp | 2 +- ql/experimental/exoticoptions/analytictwoassetcorrelationengine.hpp | 2 +- ql/experimental/exoticoptions/analyticwriterextensibleoptionengine.hpp | 2 +- ql/experimental/exoticoptions/continuousarithmeticasianlevyengine.hpp | 2 +- ql/experimental/exoticoptions/continuousarithmeticasianvecerengine.cpp | 2 +- ql/experimental/exoticoptions/continuousarithmeticasianvecerengine.hpp | 2 +- ql/experimental/exoticoptions/everestoption.cpp | 2 +- ql/experimental/exoticoptions/everestoption.hpp | 2 +- ql/experimental/exoticoptions/himalayaoption.cpp | 2 +- ql/experimental/exoticoptions/himalayaoption.hpp | 2 +- ql/experimental/exoticoptions/holderextensibleoption.hpp | 2 +- ql/experimental/exoticoptions/kirkspreadoptionengine.cpp | 2 +- ql/experimental/exoticoptions/kirkspreadoptionengine.hpp | 2 +- ql/experimental/exoticoptions/mceverestengine.cpp | 2 +- ql/experimental/exoticoptions/mceverestengine.hpp | 2 +- ql/experimental/exoticoptions/mchimalayaengine.cpp | 2 +- ql/experimental/exoticoptions/mchimalayaengine.hpp | 2 +- ql/experimental/exoticoptions/mcpagodaengine.cpp | 2 +- ql/experimental/exoticoptions/mcpagodaengine.hpp | 2 +- ql/experimental/exoticoptions/pagodaoption.cpp | 2 +- ql/experimental/exoticoptions/pagodaoption.hpp | 2 +- ql/experimental/exoticoptions/partialtimebarrieroption.hpp | 2 +- ql/experimental/exoticoptions/spreadoption.hpp | 2 +- ql/experimental/exoticoptions/twoassetbarrieroption.hpp | 2 +- ql/experimental/exoticoptions/twoassetcorrelationoption.hpp | 2 +- ql/experimental/exoticoptions/writerextensibleoption.hpp | 2 +- ql/experimental/finitedifferences/dynprogvppintrinsicvalueengine.cpp | 2 +- ql/experimental/finitedifferences/dynprogvppintrinsicvalueengine.hpp | 2 +- ql/experimental/finitedifferences/fdextoujumpvanillaengine.cpp | 2 +- ql/experimental/finitedifferences/fdextoujumpvanillaengine.hpp | 2 +- ql/experimental/finitedifferences/fdklugeextouspreadengine.cpp | 2 +- ql/experimental/finitedifferences/fdklugeextouspreadengine.hpp | 2 +- ql/experimental/finitedifferences/fdmdupire1dop.cpp | 2 +- ql/experimental/finitedifferences/fdmdupire1dop.hpp | 2 +- ql/experimental/finitedifferences/fdmexpextouinnervaluecalculator.hpp | 2 +- ql/experimental/finitedifferences/fdmextendedornsteinuhlenbeckop.cpp | 2 +- ql/experimental/finitedifferences/fdmextendedornsteinuhlenbeckop.hpp | 2 +- ql/experimental/finitedifferences/fdmextoujumpmodelinnervalue.hpp | 2 +- ql/experimental/finitedifferences/fdmextoujumpop.cpp | 2 +- ql/experimental/finitedifferences/fdmextoujumpop.hpp | 2 +- ql/experimental/finitedifferences/fdmextoujumpsolver.cpp | 2 +- ql/experimental/finitedifferences/fdmextoujumpsolver.hpp | 2 +- ql/experimental/finitedifferences/fdmklugeextouop.cpp | 2 +- ql/experimental/finitedifferences/fdmklugeextouop.hpp | 2 +- ql/experimental/finitedifferences/fdmklugeextousolver.hpp | 2 +- ql/experimental/finitedifferences/fdmsimple2dextousolver.hpp | 2 +- ql/experimental/finitedifferences/fdmsimple3dextoujumpsolver.hpp | 2 +- ql/experimental/finitedifferences/fdmspreadpayoffinnervalue.hpp | 2 +- ql/experimental/finitedifferences/fdmvppstartlimitstepcondition.cpp | 2 +- ql/experimental/finitedifferences/fdmvppstartlimitstepcondition.hpp | 2 +- ql/experimental/finitedifferences/fdmvppstepcondition.cpp | 2 +- ql/experimental/finitedifferences/fdmvppstepcondition.hpp | 2 +- ql/experimental/finitedifferences/fdmvppstepconditionfactory.cpp | 2 +- ql/experimental/finitedifferences/fdmvppstepconditionfactory.hpp | 2 +- ql/experimental/finitedifferences/fdmzabrop.cpp | 2 +- ql/experimental/finitedifferences/fdmzabrop.hpp | 2 +- ql/experimental/finitedifferences/fdornsteinuhlenbeckvanillaengine.cpp | 2 +- ql/experimental/finitedifferences/fdornsteinuhlenbeckvanillaengine.hpp | 2 +- ql/experimental/finitedifferences/fdsimpleextoujumpswingengine.cpp | 2 +- ql/experimental/finitedifferences/fdsimpleextoujumpswingengine.hpp | 2 +- ql/experimental/finitedifferences/fdsimpleextoustorageengine.cpp | 2 +- ql/experimental/finitedifferences/fdsimpleextoustorageengine.hpp | 2 +- ql/experimental/finitedifferences/fdsimpleklugeextouvppengine.cpp | 2 +- ql/experimental/finitedifferences/fdsimpleklugeextouvppengine.hpp | 2 +- ql/experimental/finitedifferences/glued1dmesher.cpp | 2 +- ql/experimental/finitedifferences/glued1dmesher.hpp | 2 +- ql/experimental/finitedifferences/vanillavppoption.cpp | 2 +- ql/experimental/finitedifferences/vanillavppoption.hpp | 2 +- ql/experimental/forward/analytichestonforwardeuropeanengine.cpp | 2 +- ql/experimental/forward/analytichestonforwardeuropeanengine.hpp | 2 +- ql/experimental/fx/blackdeltacalculator.cpp | 2 +- ql/experimental/fx/blackdeltacalculator.hpp | 2 +- ql/experimental/fx/deltavolquote.cpp | 2 +- ql/experimental/fx/deltavolquote.hpp | 2 +- ql/experimental/inflation/cpicapfloorengines.cpp | 2 +- ql/experimental/inflation/cpicapfloorengines.hpp | 2 +- ql/experimental/inflation/cpicapfloortermpricesurface.cpp | 2 +- ql/experimental/inflation/cpicapfloortermpricesurface.hpp | 2 +- ql/experimental/inflation/genericindexes.hpp | 2 +- ql/experimental/inflation/interpolatedyoyoptionletstripper.hpp | 2 +- .../inflation/kinterpolatedyoyoptionletvolatilitysurface.hpp | 2 +- ql/experimental/inflation/piecewiseyoyoptionletvolatility.hpp | 2 +- ql/experimental/inflation/polynomial2Dspline.hpp | 2 +- ql/experimental/inflation/yoycapfloortermpricesurface.cpp | 2 +- ql/experimental/inflation/yoycapfloortermpricesurface.hpp | 2 +- ql/experimental/inflation/yoyinflationoptionletvolatilitystructure2.hpp | 2 +- ql/experimental/inflation/yoyoptionlethelpers.cpp | 2 +- ql/experimental/inflation/yoyoptionlethelpers.hpp | 2 +- ql/experimental/inflation/yoyoptionletstripper.hpp | 2 +- ql/experimental/lattices/extendedbinomialtree.cpp | 2 +- ql/experimental/lattices/extendedbinomialtree.hpp | 2 +- ql/experimental/math/claytoncopularng.hpp | 2 +- ql/experimental/math/convolvedstudentt.cpp | 2 +- ql/experimental/math/convolvedstudentt.hpp | 2 +- ql/experimental/math/farliegumbelmorgensterncopularng.hpp | 2 +- ql/experimental/math/fireflyalgorithm.cpp | 2 +- ql/experimental/math/fireflyalgorithm.hpp | 2 +- ql/experimental/math/frankcopularng.hpp | 2 +- ql/experimental/math/gaussiancopulapolicy.cpp | 2 +- ql/experimental/math/gaussiancopulapolicy.hpp | 2 +- ql/experimental/math/gaussiannoncentralchisquaredpolynomial.cpp | 2 +- ql/experimental/math/gaussiannoncentralchisquaredpolynomial.hpp | 2 +- ql/experimental/math/hybridsimulatedannealing.hpp | 2 +- ql/experimental/math/hybridsimulatedannealingfunctors.hpp | 2 +- ql/experimental/math/isotropicrandomwalk.hpp | 2 +- ql/experimental/math/laplaceinterpolation.cpp | 2 +- ql/experimental/math/laplaceinterpolation.hpp | 2 +- ql/experimental/math/latentmodel.hpp | 2 +- ql/experimental/math/levyflightdistribution.hpp | 2 +- ql/experimental/math/moorepenroseinverse.hpp | 2 +- ql/experimental/math/multidimintegrator.cpp | 2 +- ql/experimental/math/multidimintegrator.hpp | 2 +- ql/experimental/math/multidimquadrature.cpp | 2 +- ql/experimental/math/multidimquadrature.hpp | 2 +- ql/experimental/math/particleswarmoptimization.cpp | 2 +- ql/experimental/math/particleswarmoptimization.hpp | 2 +- ql/experimental/math/piecewisefunction.hpp | 2 +- ql/experimental/math/piecewiseintegral.cpp | 2 +- ql/experimental/math/piecewiseintegral.hpp | 2 +- ql/experimental/math/polarstudenttrng.hpp | 2 +- ql/experimental/math/tcopulapolicy.cpp | 2 +- ql/experimental/math/tcopulapolicy.hpp | 2 +- ql/experimental/math/zigguratrng.cpp | 2 +- ql/experimental/math/zigguratrng.hpp | 2 +- ql/experimental/mcbasket/adaptedpathpayoff.cpp | 2 +- ql/experimental/mcbasket/adaptedpathpayoff.hpp | 2 +- ql/experimental/mcbasket/longstaffschwartzmultipathpricer.cpp | 2 +- ql/experimental/mcbasket/longstaffschwartzmultipathpricer.hpp | 2 +- ql/experimental/mcbasket/mcamericanpathengine.hpp | 2 +- ql/experimental/mcbasket/mclongstaffschwartzpathengine.hpp | 2 +- ql/experimental/mcbasket/mcpathbasketengine.cpp | 2 +- ql/experimental/mcbasket/mcpathbasketengine.hpp | 2 +- ql/experimental/mcbasket/pathmultiassetoption.cpp | 2 +- ql/experimental/mcbasket/pathmultiassetoption.hpp | 2 +- ql/experimental/mcbasket/pathpayoff.hpp | 2 +- ql/experimental/models/normalclvmodel.cpp | 2 +- ql/experimental/models/normalclvmodel.hpp | 2 +- ql/experimental/models/squarerootclvmodel.cpp | 2 +- ql/experimental/models/squarerootclvmodel.hpp | 2 +- ql/experimental/processes/extendedblackscholesprocess.cpp | 2 +- ql/experimental/processes/extendedblackscholesprocess.hpp | 2 +- ql/experimental/processes/extendedornsteinuhlenbeckprocess.cpp | 2 +- ql/experimental/processes/extendedornsteinuhlenbeckprocess.hpp | 2 +- ql/experimental/processes/extouwithjumpsprocess.cpp | 2 +- ql/experimental/processes/extouwithjumpsprocess.hpp | 2 +- ql/experimental/processes/gemanroncoroniprocess.cpp | 2 +- ql/experimental/processes/gemanroncoroniprocess.hpp | 2 +- ql/experimental/processes/klugeextouprocess.cpp | 2 +- ql/experimental/processes/klugeextouprocess.hpp | 2 +- ql/experimental/processes/vegastressedblackscholesprocess.cpp | 2 +- ql/experimental/processes/vegastressedblackscholesprocess.hpp | 2 +- ql/experimental/risk/creditriskplus.cpp | 2 +- ql/experimental/risk/creditriskplus.hpp | 2 +- ql/experimental/risk/sensitivityanalysis.cpp | 2 +- ql/experimental/risk/sensitivityanalysis.hpp | 2 +- ql/experimental/shortrate/generalizedhullwhite.cpp | 2 +- ql/experimental/shortrate/generalizedhullwhite.hpp | 2 +- ql/experimental/shortrate/generalizedornsteinuhlenbeckprocess.cpp | 2 +- ql/experimental/shortrate/generalizedornsteinuhlenbeckprocess.hpp | 2 +- ql/experimental/swaptions/haganirregularswaptionengine.cpp | 2 +- ql/experimental/swaptions/haganirregularswaptionengine.hpp | 2 +- ql/experimental/swaptions/irregularswap.cpp | 2 +- ql/experimental/swaptions/irregularswap.hpp | 2 +- ql/experimental/swaptions/irregularswaption.cpp | 2 +- ql/experimental/swaptions/irregularswaption.hpp | 2 +- ql/experimental/termstructures/basisswapratehelpers.cpp | 2 +- ql/experimental/termstructures/basisswapratehelpers.hpp | 2 +- ql/experimental/termstructures/crosscurrencyratehelpers.cpp | 2 +- ql/experimental/termstructures/crosscurrencyratehelpers.hpp | 2 +- ql/experimental/variancegamma/analyticvariancegammaengine.cpp | 2 +- ql/experimental/variancegamma/analyticvariancegammaengine.hpp | 2 +- ql/experimental/variancegamma/fftengine.cpp | 2 +- ql/experimental/variancegamma/fftengine.hpp | 2 +- ql/experimental/variancegamma/fftvanillaengine.cpp | 2 +- ql/experimental/variancegamma/fftvanillaengine.hpp | 2 +- ql/experimental/variancegamma/fftvariancegammaengine.cpp | 2 +- ql/experimental/variancegamma/fftvariancegammaengine.hpp | 2 +- ql/experimental/variancegamma/variancegammamodel.cpp | 2 +- ql/experimental/variancegamma/variancegammamodel.hpp | 2 +- ql/experimental/variancegamma/variancegammaprocess.cpp | 2 +- ql/experimental/variancegamma/variancegammaprocess.hpp | 2 +- ql/experimental/varianceoption/integralhestonvarianceoptionengine.cpp | 2 +- ql/experimental/varianceoption/integralhestonvarianceoptionengine.hpp | 2 +- ql/experimental/varianceoption/varianceoption.cpp | 2 +- ql/experimental/varianceoption/varianceoption.hpp | 2 +- ql/experimental/volatility/abcdatmvolcurve.cpp | 2 +- ql/experimental/volatility/abcdatmvolcurve.hpp | 2 +- ql/experimental/volatility/blackatmvolcurve.cpp | 2 +- ql/experimental/volatility/blackatmvolcurve.hpp | 2 +- ql/experimental/volatility/blackvolsurface.cpp | 2 +- ql/experimental/volatility/blackvolsurface.hpp | 2 +- ql/experimental/volatility/equityfxvolsurface.cpp | 2 +- ql/experimental/volatility/equityfxvolsurface.hpp | 2 +- ql/experimental/volatility/extendedblackvariancecurve.cpp | 2 +- ql/experimental/volatility/extendedblackvariancecurve.hpp | 2 +- ql/experimental/volatility/extendedblackvariancesurface.cpp | 2 +- ql/experimental/volatility/extendedblackvariancesurface.hpp | 2 +- ql/experimental/volatility/interestratevolsurface.cpp | 2 +- ql/experimental/volatility/interestratevolsurface.hpp | 2 +- ql/experimental/volatility/noarbsabr.cpp | 2 +- ql/experimental/volatility/noarbsabr.hpp | 2 +- ql/experimental/volatility/noarbsabrabsprobs.cpp | 2 +- ql/experimental/volatility/noarbsabrinterpolatedsmilesection.cpp | 2 +- ql/experimental/volatility/noarbsabrinterpolatedsmilesection.hpp | 2 +- ql/experimental/volatility/noarbsabrinterpolation.hpp | 2 +- ql/experimental/volatility/noarbsabrsmilesection.cpp | 2 +- ql/experimental/volatility/noarbsabrsmilesection.hpp | 2 +- ql/experimental/volatility/noarbsabrswaptionvolatilitycube.hpp | 2 +- ql/experimental/volatility/sabrvolsurface.cpp | 2 +- ql/experimental/volatility/sabrvolsurface.hpp | 2 +- ql/experimental/volatility/sabrvoltermstructure.hpp | 2 +- ql/experimental/volatility/sviinterpolatedsmilesection.cpp | 2 +- ql/experimental/volatility/sviinterpolatedsmilesection.hpp | 2 +- ql/experimental/volatility/sviinterpolation.hpp | 2 +- ql/experimental/volatility/svismilesection.cpp | 2 +- ql/experimental/volatility/svismilesection.hpp | 2 +- ql/experimental/volatility/volcube.cpp | 2 +- ql/experimental/volatility/volcube.hpp | 2 +- ql/experimental/volatility/zabr.cpp | 2 +- ql/experimental/volatility/zabr.hpp | 2 +- ql/experimental/volatility/zabrinterpolatedsmilesection.hpp | 2 +- ql/experimental/volatility/zabrinterpolation.hpp | 2 +- ql/experimental/volatility/zabrsmilesection.hpp | 2 +- ql/functional.hpp | 2 +- ql/grid.hpp | 2 +- ql/handle.hpp | 2 +- ql/index.cpp | 2 +- ql/index.hpp | 2 +- ql/indexes/bmaindex.cpp | 2 +- ql/indexes/bmaindex.hpp | 2 +- ql/indexes/equityindex.cpp | 2 +- ql/indexes/equityindex.hpp | 2 +- ql/indexes/ibor/aonia.hpp | 2 +- ql/indexes/ibor/audlibor.hpp | 2 +- ql/indexes/ibor/bbsw.hpp | 2 +- ql/indexes/ibor/bibor.cpp | 2 +- ql/indexes/ibor/bibor.hpp | 2 +- ql/indexes/ibor/bkbm.hpp | 2 +- ql/indexes/ibor/cadlibor.hpp | 2 +- ql/indexes/ibor/cdi.cpp | 2 +- ql/indexes/ibor/cdi.hpp | 2 +- ql/indexes/ibor/cdor.hpp | 2 +- ql/indexes/ibor/chflibor.hpp | 2 +- ql/indexes/ibor/corra.cpp | 2 +- ql/indexes/ibor/corra.hpp | 2 +- ql/indexes/ibor/destr.hpp | 2 +- ql/indexes/ibor/dkklibor.hpp | 2 +- ql/indexes/ibor/eonia.cpp | 2 +- ql/indexes/ibor/eonia.hpp | 2 +- ql/indexes/ibor/estr.cpp | 2 +- ql/indexes/ibor/estr.hpp | 2 +- ql/indexes/ibor/euribor.cpp | 2 +- ql/indexes/ibor/euribor.hpp | 2 +- ql/indexes/ibor/eurlibor.cpp | 2 +- ql/indexes/ibor/eurlibor.hpp | 2 +- ql/indexes/ibor/fedfunds.cpp | 2 +- ql/indexes/ibor/fedfunds.hpp | 2 +- ql/indexes/ibor/gbplibor.hpp | 2 +- ql/indexes/ibor/jibar.hpp | 2 +- ql/indexes/ibor/jpylibor.hpp | 2 +- ql/indexes/ibor/kofr.cpp | 2 +- ql/indexes/ibor/kofr.hpp | 2 +- ql/indexes/ibor/libor.cpp | 2 +- ql/indexes/ibor/libor.hpp | 2 +- ql/indexes/ibor/mosprime.hpp | 2 +- ql/indexes/ibor/nzdlibor.hpp | 2 +- ql/indexes/ibor/nzocr.hpp | 2 +- ql/indexes/ibor/pribor.hpp | 2 +- ql/indexes/ibor/robor.hpp | 2 +- ql/indexes/ibor/saron.cpp | 2 +- ql/indexes/ibor/saron.hpp | 2 +- ql/indexes/ibor/seklibor.hpp | 2 +- ql/indexes/ibor/shibor.cpp | 2 +- ql/indexes/ibor/shibor.hpp | 2 +- ql/indexes/ibor/sofr.cpp | 2 +- ql/indexes/ibor/sofr.hpp | 2 +- ql/indexes/ibor/sonia.cpp | 2 +- ql/indexes/ibor/sonia.hpp | 2 +- ql/indexes/ibor/swestr.hpp | 2 +- ql/indexes/ibor/thbfix.hpp | 2 +- ql/indexes/ibor/tibor.hpp | 2 +- ql/indexes/ibor/tona.hpp | 2 +- ql/indexes/ibor/tonar.hpp | 2 +- ql/indexes/ibor/trlibor.hpp | 2 +- ql/indexes/ibor/usdlibor.hpp | 2 +- ql/indexes/ibor/wibor.hpp | 2 +- ql/indexes/ibor/zibor.hpp | 2 +- ql/indexes/iborindex.cpp | 2 +- ql/indexes/iborindex.hpp | 2 +- ql/indexes/indexmanager.cpp | 2 +- ql/indexes/indexmanager.hpp | 2 +- ql/indexes/inflation/aucpi.hpp | 2 +- ql/indexes/inflation/euhicp.hpp | 2 +- ql/indexes/inflation/frhicp.hpp | 2 +- ql/indexes/inflation/ukhicp.hpp | 2 +- ql/indexes/inflation/ukrpi.hpp | 2 +- ql/indexes/inflation/uscpi.hpp | 2 +- ql/indexes/inflation/zacpi.hpp | 2 +- ql/indexes/inflationindex.cpp | 2 +- ql/indexes/inflationindex.hpp | 2 +- ql/indexes/interestrateindex.cpp | 2 +- ql/indexes/interestrateindex.hpp | 2 +- ql/indexes/region.cpp | 2 +- ql/indexes/region.hpp | 2 +- ql/indexes/swap/chfliborswap.cpp | 2 +- ql/indexes/swap/chfliborswap.hpp | 2 +- ql/indexes/swap/euriborswap.cpp | 2 +- ql/indexes/swap/euriborswap.hpp | 2 +- ql/indexes/swap/eurliborswap.cpp | 2 +- ql/indexes/swap/eurliborswap.hpp | 2 +- ql/indexes/swap/gbpliborswap.cpp | 2 +- ql/indexes/swap/gbpliborswap.hpp | 2 +- ql/indexes/swap/jpyliborswap.cpp | 2 +- ql/indexes/swap/jpyliborswap.hpp | 2 +- ql/indexes/swap/usdliborswap.cpp | 2 +- ql/indexes/swap/usdliborswap.hpp | 2 +- ql/indexes/swapindex.cpp | 2 +- ql/indexes/swapindex.hpp | 2 +- ql/instrument.cpp | 2 +- ql/instrument.hpp | 2 +- ql/instruments/asianoption.cpp | 2 +- ql/instruments/asianoption.hpp | 2 +- ql/instruments/assetswap.cpp | 2 +- ql/instruments/assetswap.hpp | 2 +- ql/instruments/averagetype.cpp | 2 +- ql/instruments/averagetype.hpp | 2 +- ql/instruments/barrieroption.cpp | 2 +- ql/instruments/barrieroption.hpp | 2 +- ql/instruments/barriertype.cpp | 2 +- ql/instruments/barriertype.hpp | 2 +- ql/instruments/basketoption.cpp | 2 +- ql/instruments/basketoption.hpp | 2 +- ql/instruments/bmaswap.cpp | 2 +- ql/instruments/bmaswap.hpp | 2 +- ql/instruments/bond.cpp | 2 +- ql/instruments/bond.hpp | 2 +- ql/instruments/bondforward.cpp | 2 +- ql/instruments/bondforward.hpp | 2 +- ql/instruments/bonds/amortizingcmsratebond.cpp | 2 +- ql/instruments/bonds/amortizingcmsratebond.hpp | 2 +- ql/instruments/bonds/amortizingfixedratebond.cpp | 2 +- ql/instruments/bonds/amortizingfixedratebond.hpp | 2 +- ql/instruments/bonds/amortizingfloatingratebond.cpp | 2 +- ql/instruments/bonds/amortizingfloatingratebond.hpp | 2 +- ql/instruments/bonds/btp.cpp | 2 +- ql/instruments/bonds/btp.hpp | 2 +- ql/instruments/bonds/cmsratebond.cpp | 2 +- ql/instruments/bonds/cmsratebond.hpp | 2 +- ql/instruments/bonds/convertiblebonds.cpp | 2 +- ql/instruments/bonds/convertiblebonds.hpp | 2 +- ql/instruments/bonds/cpibond.cpp | 2 +- ql/instruments/bonds/cpibond.hpp | 2 +- ql/instruments/bonds/fixedratebond.cpp | 2 +- ql/instruments/bonds/fixedratebond.hpp | 2 +- ql/instruments/bonds/floatingratebond.cpp | 2 +- ql/instruments/bonds/floatingratebond.hpp | 2 +- ql/instruments/bonds/zerocouponbond.cpp | 2 +- ql/instruments/bonds/zerocouponbond.hpp | 2 +- ql/instruments/callabilityschedule.hpp | 2 +- ql/instruments/capfloor.cpp | 2 +- ql/instruments/capfloor.hpp | 2 +- ql/instruments/claim.cpp | 2 +- ql/instruments/claim.hpp | 2 +- ql/instruments/cliquetoption.cpp | 2 +- ql/instruments/cliquetoption.hpp | 2 +- ql/instruments/complexchooseroption.cpp | 2 +- ql/instruments/complexchooseroption.hpp | 2 +- ql/instruments/compositeinstrument.cpp | 2 +- ql/instruments/compositeinstrument.hpp | 2 +- ql/instruments/compoundoption.cpp | 2 +- ql/instruments/compoundoption.hpp | 2 +- ql/instruments/cpicapfloor.cpp | 2 +- ql/instruments/cpicapfloor.hpp | 2 +- ql/instruments/cpiswap.cpp | 2 +- ql/instruments/cpiswap.hpp | 2 +- ql/instruments/creditdefaultswap.cpp | 2 +- ql/instruments/creditdefaultswap.hpp | 2 +- ql/instruments/dividendschedule.hpp | 2 +- ql/instruments/doublebarrieroption.cpp | 2 +- ql/instruments/doublebarrieroption.hpp | 2 +- ql/instruments/doublebarriertype.cpp | 2 +- ql/instruments/doublebarriertype.hpp | 2 +- ql/instruments/equitytotalreturnswap.cpp | 2 +- ql/instruments/equitytotalreturnswap.hpp | 2 +- ql/instruments/europeanoption.cpp | 2 +- ql/instruments/europeanoption.hpp | 2 +- ql/instruments/fixedratebondforward.hpp | 2 +- ql/instruments/fixedvsfloatingswap.cpp | 2 +- ql/instruments/fixedvsfloatingswap.hpp | 2 +- ql/instruments/floatfloatswap.cpp | 2 +- ql/instruments/floatfloatswap.hpp | 2 +- ql/instruments/floatfloatswaption.cpp | 2 +- ql/instruments/floatfloatswaption.hpp | 2 +- ql/instruments/forward.cpp | 2 +- ql/instruments/forward.hpp | 2 +- ql/instruments/forwardrateagreement.cpp | 2 +- ql/instruments/forwardrateagreement.hpp | 2 +- ql/instruments/forwardvanillaoption.cpp | 2 +- ql/instruments/forwardvanillaoption.hpp | 2 +- ql/instruments/futures.cpp | 2 +- ql/instruments/futures.hpp | 2 +- ql/instruments/holderextensibleoption.cpp | 2 +- ql/instruments/holderextensibleoption.hpp | 2 +- ql/instruments/impliedvolatility.cpp | 2 +- ql/instruments/impliedvolatility.hpp | 2 +- ql/instruments/inflationcapfloor.cpp | 2 +- ql/instruments/inflationcapfloor.hpp | 2 +- ql/instruments/lookbackoption.cpp | 2 +- ql/instruments/lookbackoption.hpp | 2 +- ql/instruments/makecapfloor.cpp | 2 +- ql/instruments/makecapfloor.hpp | 2 +- ql/instruments/makecds.cpp | 2 +- ql/instruments/makecds.hpp | 2 +- ql/instruments/makecms.cpp | 2 +- ql/instruments/makecms.hpp | 2 +- ql/instruments/makeois.cpp | 2 +- ql/instruments/makeois.hpp | 2 +- ql/instruments/makeswaption.cpp | 2 +- ql/instruments/makeswaption.hpp | 2 +- ql/instruments/makevanillaswap.cpp | 2 +- ql/instruments/makevanillaswap.hpp | 2 +- ql/instruments/makeyoyinflationcapfloor.cpp | 2 +- ql/instruments/makeyoyinflationcapfloor.hpp | 2 +- ql/instruments/margrabeoption.cpp | 2 +- ql/instruments/margrabeoption.hpp | 2 +- ql/instruments/multiassetoption.cpp | 2 +- ql/instruments/multiassetoption.hpp | 2 +- ql/instruments/nonstandardswap.cpp | 2 +- ql/instruments/nonstandardswap.hpp | 2 +- ql/instruments/nonstandardswaption.cpp | 2 +- ql/instruments/nonstandardswaption.hpp | 2 +- ql/instruments/oneassetoption.cpp | 2 +- ql/instruments/oneassetoption.hpp | 2 +- ql/instruments/overnightindexedswap.cpp | 2 +- ql/instruments/overnightindexedswap.hpp | 2 +- ql/instruments/overnightindexfuture.cpp | 2 +- ql/instruments/overnightindexfuture.hpp | 2 +- ql/instruments/partialtimebarrieroption.cpp | 2 +- ql/instruments/partialtimebarrieroption.hpp | 2 +- ql/instruments/payoffs.cpp | 2 +- ql/instruments/payoffs.hpp | 2 +- ql/instruments/quantobarrieroption.cpp | 2 +- ql/instruments/quantobarrieroption.hpp | 2 +- ql/instruments/quantoforwardvanillaoption.cpp | 2 +- ql/instruments/quantoforwardvanillaoption.hpp | 2 +- ql/instruments/quantovanillaoption.cpp | 2 +- ql/instruments/quantovanillaoption.hpp | 2 +- ql/instruments/simplechooseroption.cpp | 2 +- ql/instruments/simplechooseroption.hpp | 2 +- ql/instruments/simplifynotificationgraph.cpp | 2 +- ql/instruments/simplifynotificationgraph.hpp | 2 +- ql/instruments/softbarrieroption.cpp | 2 +- ql/instruments/softbarrieroption.hpp | 2 +- ql/instruments/stickyratchet.cpp | 2 +- ql/instruments/stickyratchet.hpp | 2 +- ql/instruments/stock.cpp | 2 +- ql/instruments/stock.hpp | 2 +- ql/instruments/swap.cpp | 2 +- ql/instruments/swap.hpp | 2 +- ql/instruments/swaption.cpp | 2 +- ql/instruments/swaption.hpp | 2 +- ql/instruments/twoassetbarrieroption.cpp | 2 +- ql/instruments/twoassetbarrieroption.hpp | 2 +- ql/instruments/twoassetcorrelationoption.cpp | 2 +- ql/instruments/twoassetcorrelationoption.hpp | 2 +- ql/instruments/vanillaoption.cpp | 2 +- ql/instruments/vanillaoption.hpp | 2 +- ql/instruments/vanillastorageoption.hpp | 2 +- ql/instruments/vanillaswap.cpp | 2 +- ql/instruments/vanillaswap.hpp | 2 +- ql/instruments/vanillaswingoption.cpp | 2 +- ql/instruments/vanillaswingoption.hpp | 2 +- ql/instruments/varianceswap.cpp | 2 +- ql/instruments/varianceswap.hpp | 2 +- ql/instruments/writerextensibleoption.cpp | 2 +- ql/instruments/writerextensibleoption.hpp | 2 +- ql/instruments/yearonyearinflationswap.cpp | 2 +- ql/instruments/yearonyearinflationswap.hpp | 2 +- ql/instruments/zerocouponinflationswap.cpp | 2 +- ql/instruments/zerocouponinflationswap.hpp | 2 +- ql/instruments/zerocouponswap.cpp | 2 +- ql/instruments/zerocouponswap.hpp | 2 +- ql/interestrate.cpp | 2 +- ql/interestrate.hpp | 2 +- ql/legacy/libormarketmodels/lfmcovarparam.cpp | 2 +- ql/legacy/libormarketmodels/lfmcovarparam.hpp | 2 +- ql/legacy/libormarketmodels/lfmcovarproxy.cpp | 2 +- ql/legacy/libormarketmodels/lfmcovarproxy.hpp | 2 +- ql/legacy/libormarketmodels/lfmhullwhiteparam.cpp | 2 +- ql/legacy/libormarketmodels/lfmhullwhiteparam.hpp | 2 +- ql/legacy/libormarketmodels/lfmprocess.cpp | 2 +- ql/legacy/libormarketmodels/lfmprocess.hpp | 2 +- ql/legacy/libormarketmodels/lfmswaptionengine.cpp | 2 +- ql/legacy/libormarketmodels/lfmswaptionengine.hpp | 2 +- ql/legacy/libormarketmodels/liborforwardmodel.cpp | 2 +- ql/legacy/libormarketmodels/liborforwardmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmconstwrappercorrmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmconstwrappervolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmcorrmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmcorrmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmexpcorrmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmexpcorrmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmextlinexpvolmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmextlinexpvolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmfixedvolmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmfixedvolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmlinexpcorrmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmlinexpcorrmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmlinexpvolmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmlinexpvolmodel.hpp | 2 +- ql/legacy/libormarketmodels/lmvolmodel.cpp | 2 +- ql/legacy/libormarketmodels/lmvolmodel.hpp | 2 +- ql/math/abcdmathfunction.cpp | 2 +- ql/math/abcdmathfunction.hpp | 2 +- ql/math/array.hpp | 2 +- ql/math/autocovariance.hpp | 2 +- ql/math/bernsteinpolynomial.cpp | 2 +- ql/math/bernsteinpolynomial.hpp | 2 +- ql/math/beta.cpp | 2 +- ql/math/beta.hpp | 2 +- ql/math/bspline.cpp | 2 +- ql/math/bspline.hpp | 2 +- ql/math/comparison.hpp | 2 +- ql/math/copulas/alimikhailhaqcopula.cpp | 2 +- ql/math/copulas/alimikhailhaqcopula.hpp | 2 +- ql/math/copulas/claytoncopula.cpp | 2 +- ql/math/copulas/claytoncopula.hpp | 2 +- ql/math/copulas/farliegumbelmorgensterncopula.cpp | 2 +- ql/math/copulas/farliegumbelmorgensterncopula.hpp | 2 +- ql/math/copulas/frankcopula.cpp | 2 +- ql/math/copulas/frankcopula.hpp | 2 +- ql/math/copulas/galamboscopula.cpp | 2 +- ql/math/copulas/galamboscopula.hpp | 2 +- ql/math/copulas/gaussiancopula.cpp | 2 +- ql/math/copulas/gaussiancopula.hpp | 2 +- ql/math/copulas/gumbelcopula.cpp | 2 +- ql/math/copulas/gumbelcopula.hpp | 2 +- ql/math/copulas/huslerreisscopula.cpp | 2 +- ql/math/copulas/huslerreisscopula.hpp | 2 +- ql/math/copulas/independentcopula.cpp | 2 +- ql/math/copulas/independentcopula.hpp | 2 +- ql/math/copulas/marshallolkincopula.cpp | 2 +- ql/math/copulas/marshallolkincopula.hpp | 2 +- ql/math/copulas/maxcopula.cpp | 2 +- ql/math/copulas/maxcopula.hpp | 2 +- ql/math/copulas/mincopula.cpp | 2 +- ql/math/copulas/mincopula.hpp | 2 +- ql/math/copulas/plackettcopula.cpp | 2 +- ql/math/copulas/plackettcopula.hpp | 2 +- ql/math/distributions/binomialdistribution.hpp | 2 +- ql/math/distributions/bivariatenormaldistribution.cpp | 2 +- ql/math/distributions/bivariatenormaldistribution.hpp | 2 +- ql/math/distributions/bivariatestudenttdistribution.cpp | 2 +- ql/math/distributions/bivariatestudenttdistribution.hpp | 2 +- ql/math/distributions/chisquaredistribution.cpp | 2 +- ql/math/distributions/chisquaredistribution.hpp | 2 +- ql/math/distributions/gammadistribution.cpp | 2 +- ql/math/distributions/gammadistribution.hpp | 2 +- ql/math/distributions/normaldistribution.cpp | 2 +- ql/math/distributions/normaldistribution.hpp | 2 +- ql/math/distributions/poissondistribution.hpp | 2 +- ql/math/distributions/studenttdistribution.cpp | 2 +- ql/math/distributions/studenttdistribution.hpp | 2 +- ql/math/errorfunction.hpp | 2 +- ql/math/expm1.cpp | 2 +- ql/math/expm1.hpp | 2 +- ql/math/factorial.cpp | 2 +- ql/math/factorial.hpp | 2 +- ql/math/fastfouriertransform.hpp | 2 +- ql/math/functional.hpp | 2 +- ql/math/generallinearleastsquares.hpp | 2 +- ql/math/incompletegamma.cpp | 2 +- ql/math/incompletegamma.hpp | 2 +- ql/math/integrals/discreteintegrals.cpp | 2 +- ql/math/integrals/discreteintegrals.hpp | 2 +- ql/math/integrals/exponentialintegrals.cpp | 2 +- ql/math/integrals/exponentialintegrals.hpp | 2 +- ql/math/integrals/expsinhintegral.hpp | 2 +- ql/math/integrals/filonintegral.cpp | 2 +- ql/math/integrals/filonintegral.hpp | 2 +- ql/math/integrals/gaussianorthogonalpolynomial.cpp | 2 +- ql/math/integrals/gaussianorthogonalpolynomial.hpp | 2 +- ql/math/integrals/gaussianquadratures.cpp | 2 +- ql/math/integrals/gaussianquadratures.hpp | 2 +- ql/math/integrals/gausslaguerrecosinepolynomial.hpp | 2 +- ql/math/integrals/gausslobattointegral.cpp | 2 +- ql/math/integrals/gausslobattointegral.hpp | 2 +- ql/math/integrals/integral.cpp | 2 +- ql/math/integrals/integral.hpp | 2 +- ql/math/integrals/kronrodintegral.cpp | 2 +- ql/math/integrals/kronrodintegral.hpp | 2 +- ql/math/integrals/momentbasedgaussianpolynomial.hpp | 2 +- ql/math/integrals/segmentintegral.cpp | 2 +- ql/math/integrals/segmentintegral.hpp | 2 +- ql/math/integrals/simpsonintegral.hpp | 2 +- ql/math/integrals/tanhsinhintegral.hpp | 2 +- ql/math/integrals/trapezoidintegral.hpp | 2 +- ql/math/integrals/twodimensionalintegral.hpp | 2 +- ql/math/interpolation.hpp | 2 +- ql/math/interpolations/abcdinterpolation.hpp | 2 +- ql/math/interpolations/backwardflatinterpolation.hpp | 2 +- ql/math/interpolations/backwardflatlinearinterpolation.hpp | 2 +- ql/math/interpolations/bicubicsplineinterpolation.hpp | 2 +- ql/math/interpolations/bilinearinterpolation.hpp | 2 +- ql/math/interpolations/chebyshevinterpolation.cpp | 2 +- ql/math/interpolations/chebyshevinterpolation.hpp | 2 +- ql/math/interpolations/convexmonotoneinterpolation.hpp | 2 +- ql/math/interpolations/cubicinterpolation.hpp | 2 +- ql/math/interpolations/extrapolation.hpp | 2 +- ql/math/interpolations/flatextrapolation2d.hpp | 2 +- ql/math/interpolations/forwardflatinterpolation.hpp | 2 +- ql/math/interpolations/interpolation2d.hpp | 2 +- ql/math/interpolations/kernelinterpolation.hpp | 2 +- ql/math/interpolations/kernelinterpolation2d.hpp | 2 +- ql/math/interpolations/lagrangeinterpolation.hpp | 2 +- ql/math/interpolations/linearinterpolation.hpp | 2 +- ql/math/interpolations/loginterpolation.hpp | 2 +- ql/math/interpolations/mixedinterpolation.hpp | 2 +- ql/math/interpolations/multicubicspline.hpp | 2 +- ql/math/interpolations/sabrinterpolation.hpp | 2 +- ql/math/interpolations/xabrinterpolation.hpp | 2 +- ql/math/kernelfunctions.hpp | 2 +- ql/math/linearleastsquaresregression.hpp | 2 +- ql/math/matrix.cpp | 2 +- ql/math/matrix.hpp | 2 +- ql/math/matrixutilities/basisincompleteordered.cpp | 2 +- ql/math/matrixutilities/basisincompleteordered.hpp | 2 +- ql/math/matrixutilities/bicgstab.cpp | 2 +- ql/math/matrixutilities/bicgstab.hpp | 2 +- ql/math/matrixutilities/choleskydecomposition.cpp | 2 +- ql/math/matrixutilities/choleskydecomposition.hpp | 2 +- ql/math/matrixutilities/expm.cpp | 2 +- ql/math/matrixutilities/expm.hpp | 2 +- ql/math/matrixutilities/factorreduction.cpp | 2 +- ql/math/matrixutilities/factorreduction.hpp | 2 +- ql/math/matrixutilities/getcovariance.cpp | 2 +- ql/math/matrixutilities/getcovariance.hpp | 2 +- ql/math/matrixutilities/gmres.cpp | 2 +- ql/math/matrixutilities/gmres.hpp | 2 +- ql/math/matrixutilities/householder.cpp | 2 +- ql/math/matrixutilities/householder.hpp | 2 +- ql/math/matrixutilities/pseudosqrt.cpp | 2 +- ql/math/matrixutilities/pseudosqrt.hpp | 2 +- ql/math/matrixutilities/qrdecomposition.cpp | 2 +- ql/math/matrixutilities/qrdecomposition.hpp | 2 +- ql/math/matrixutilities/sparseilupreconditioner.cpp | 2 +- ql/math/matrixutilities/sparseilupreconditioner.hpp | 2 +- ql/math/matrixutilities/sparsematrix.hpp | 2 +- ql/math/matrixutilities/svd.cpp | 2 +- ql/math/matrixutilities/svd.hpp | 2 +- ql/math/matrixutilities/symmetricschurdecomposition.cpp | 2 +- ql/math/matrixutilities/symmetricschurdecomposition.hpp | 2 +- ql/math/matrixutilities/tapcorrelations.cpp | 2 +- ql/math/matrixutilities/tapcorrelations.hpp | 2 +- ql/math/matrixutilities/tqreigendecomposition.cpp | 2 +- ql/math/matrixutilities/tqreigendecomposition.hpp | 2 +- ql/math/modifiedbessel.cpp | 2 +- ql/math/modifiedbessel.hpp | 2 +- ql/math/ode/adaptiverungekutta.hpp | 2 +- ql/math/optimization/armijo.cpp | 2 +- ql/math/optimization/armijo.hpp | 2 +- ql/math/optimization/bfgs.cpp | 2 +- ql/math/optimization/bfgs.hpp | 2 +- ql/math/optimization/conjugategradient.cpp | 2 +- ql/math/optimization/conjugategradient.hpp | 2 +- ql/math/optimization/constraint.cpp | 2 +- ql/math/optimization/constraint.hpp | 2 +- ql/math/optimization/costfunction.hpp | 2 +- ql/math/optimization/differentialevolution.cpp | 2 +- ql/math/optimization/differentialevolution.hpp | 2 +- ql/math/optimization/endcriteria.cpp | 2 +- ql/math/optimization/endcriteria.hpp | 2 +- ql/math/optimization/goldstein.cpp | 2 +- ql/math/optimization/goldstein.hpp | 2 +- ql/math/optimization/leastsquare.cpp | 2 +- ql/math/optimization/leastsquare.hpp | 2 +- ql/math/optimization/levenbergmarquardt.cpp | 2 +- ql/math/optimization/levenbergmarquardt.hpp | 2 +- ql/math/optimization/linesearch.cpp | 2 +- ql/math/optimization/linesearch.hpp | 2 +- ql/math/optimization/linesearchbasedmethod.cpp | 2 +- ql/math/optimization/linesearchbasedmethod.hpp | 2 +- ql/math/optimization/lmdif.hpp | 2 +- ql/math/optimization/method.hpp | 2 +- ql/math/optimization/problem.hpp | 2 +- ql/math/optimization/projectedconstraint.hpp | 2 +- ql/math/optimization/projectedcostfunction.cpp | 2 +- ql/math/optimization/projectedcostfunction.hpp | 2 +- ql/math/optimization/projection.cpp | 2 +- ql/math/optimization/projection.hpp | 2 +- ql/math/optimization/simplex.cpp | 2 +- ql/math/optimization/simplex.hpp | 2 +- ql/math/optimization/simulatedannealing.hpp | 2 +- ql/math/optimization/spherecylinder.cpp | 2 +- ql/math/optimization/spherecylinder.hpp | 2 +- ql/math/optimization/steepestdescent.cpp | 2 +- ql/math/optimization/steepestdescent.hpp | 2 +- ql/math/pascaltriangle.cpp | 2 +- ql/math/pascaltriangle.hpp | 2 +- ql/math/polynomialmathfunction.cpp | 2 +- ql/math/polynomialmathfunction.hpp | 2 +- ql/math/primenumbers.cpp | 2 +- ql/math/primenumbers.hpp | 2 +- ql/math/quadratic.cpp | 2 +- ql/math/quadratic.hpp | 2 +- ql/math/randomnumbers/boxmullergaussianrng.hpp | 2 +- ql/math/randomnumbers/burley2020sobolrsg.cpp | 2 +- ql/math/randomnumbers/burley2020sobolrsg.hpp | 2 +- ql/math/randomnumbers/centrallimitgaussianrng.hpp | 2 +- ql/math/randomnumbers/faurersg.cpp | 2 +- ql/math/randomnumbers/faurersg.hpp | 2 +- ql/math/randomnumbers/haltonrsg.cpp | 2 +- ql/math/randomnumbers/haltonrsg.hpp | 2 +- ql/math/randomnumbers/inversecumulativerng.hpp | 2 +- ql/math/randomnumbers/inversecumulativersg.hpp | 2 +- ql/math/randomnumbers/knuthuniformrng.cpp | 2 +- ql/math/randomnumbers/knuthuniformrng.hpp | 2 +- ql/math/randomnumbers/latticersg.cpp | 2 +- ql/math/randomnumbers/latticersg.hpp | 2 +- ql/math/randomnumbers/latticerules.cpp | 2 +- ql/math/randomnumbers/latticerules.hpp | 2 +- ql/math/randomnumbers/lecuyeruniformrng.cpp | 2 +- ql/math/randomnumbers/lecuyeruniformrng.hpp | 2 +- ql/math/randomnumbers/mt19937uniformrng.cpp | 2 +- ql/math/randomnumbers/mt19937uniformrng.hpp | 2 +- ql/math/randomnumbers/randomizedlds.hpp | 2 +- ql/math/randomnumbers/randomsequencegenerator.hpp | 2 +- ql/math/randomnumbers/ranluxuniformrng.hpp | 2 +- ql/math/randomnumbers/rngtraits.hpp | 2 +- ql/math/randomnumbers/seedgenerator.cpp | 2 +- ql/math/randomnumbers/seedgenerator.hpp | 2 +- ql/math/randomnumbers/sobolbrownianbridgersg.cpp | 2 +- ql/math/randomnumbers/sobolbrownianbridgersg.hpp | 2 +- ql/math/randomnumbers/sobolrsg.cpp | 2 +- ql/math/randomnumbers/sobolrsg.hpp | 2 +- ql/math/randomnumbers/stochasticcollocationinvcdf.cpp | 2 +- ql/math/randomnumbers/stochasticcollocationinvcdf.hpp | 2 +- ql/math/randomnumbers/xoshiro256starstaruniformrng.cpp | 2 +- ql/math/randomnumbers/xoshiro256starstaruniformrng.hpp | 2 +- ql/math/randomnumbers/zigguratgaussianrng.hpp | 2 +- ql/math/richardsonextrapolation.cpp | 2 +- ql/math/richardsonextrapolation.hpp | 2 +- ql/math/rounding.cpp | 2 +- ql/math/rounding.hpp | 2 +- ql/math/sampledcurve.hpp | 2 +- ql/math/solver1d.hpp | 2 +- ql/math/solvers1d/bisection.hpp | 2 +- ql/math/solvers1d/brent.hpp | 2 +- ql/math/solvers1d/falseposition.hpp | 2 +- ql/math/solvers1d/finitedifferencenewtonsafe.hpp | 2 +- ql/math/solvers1d/halley.hpp | 2 +- ql/math/solvers1d/newton.hpp | 2 +- ql/math/solvers1d/newtonsafe.hpp | 2 +- ql/math/solvers1d/ridder.hpp | 2 +- ql/math/solvers1d/secant.hpp | 2 +- ql/math/statistics/convergencestatistics.hpp | 2 +- ql/math/statistics/discrepancystatistics.cpp | 2 +- ql/math/statistics/discrepancystatistics.hpp | 2 +- ql/math/statistics/gaussianstatistics.hpp | 2 +- ql/math/statistics/generalstatistics.cpp | 2 +- ql/math/statistics/generalstatistics.hpp | 2 +- ql/math/statistics/histogram.cpp | 2 +- ql/math/statistics/histogram.hpp | 2 +- ql/math/statistics/incrementalstatistics.cpp | 2 +- ql/math/statistics/incrementalstatistics.hpp | 2 +- ql/math/statistics/riskstatistics.hpp | 2 +- ql/math/statistics/sequencestatistics.hpp | 2 +- ql/math/statistics/statistics.hpp | 2 +- ql/math/transformedgrid.hpp | 2 +- ql/mathconstants.hpp | 2 +- ql/methods/finitedifferences/boundarycondition.cpp | 2 +- ql/methods/finitedifferences/boundarycondition.hpp | 2 +- ql/methods/finitedifferences/bsmoperator.cpp | 2 +- ql/methods/finitedifferences/bsmoperator.hpp | 2 +- ql/methods/finitedifferences/bsmtermoperator.hpp | 2 +- ql/methods/finitedifferences/cranknicolson.hpp | 2 +- ql/methods/finitedifferences/dminus.hpp | 2 +- ql/methods/finitedifferences/dplus.hpp | 2 +- ql/methods/finitedifferences/dplusdminus.hpp | 2 +- ql/methods/finitedifferences/dzero.hpp | 2 +- ql/methods/finitedifferences/expliciteuler.hpp | 2 +- ql/methods/finitedifferences/fdtypedefs.hpp | 2 +- ql/methods/finitedifferences/finitedifferencemodel.hpp | 2 +- ql/methods/finitedifferences/impliciteuler.hpp | 2 +- ql/methods/finitedifferences/meshers/concentrating1dmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/concentrating1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/exponentialjump1dmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/exponentialjump1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdm1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmblackscholesmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/fdmblackscholesmesher.hpp | 2 +- .../finitedifferences/meshers/fdmblackscholesmultistrikemesher.cpp | 2 +- .../finitedifferences/meshers/fdmblackscholesmultistrikemesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmcev1dmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/fdmcev1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmhestonvariancemesher.cpp | 2 +- ql/methods/finitedifferences/meshers/fdmhestonvariancemesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmmeshercomposite.cpp | 2 +- ql/methods/finitedifferences/meshers/fdmmeshercomposite.hpp | 2 +- ql/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/predefined1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/uniform1dmesher.hpp | 2 +- ql/methods/finitedifferences/meshers/uniformgridmesher.cpp | 2 +- ql/methods/finitedifferences/meshers/uniformgridmesher.hpp | 2 +- ql/methods/finitedifferences/mixedscheme.hpp | 2 +- ql/methods/finitedifferences/operators/fdm2dblackscholesop.cpp | 2 +- ql/methods/finitedifferences/operators/fdm2dblackscholesop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmbatesop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmbatesop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmblackscholesfwdop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmblackscholesfwdop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmblackscholesop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmblackscholesop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmcevop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmcevop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmcirop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmcirop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmg2op.cpp | 2 +- ql/methods/finitedifferences/operators/fdmg2op.hpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonfwdop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonfwdop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonhullwhiteop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonhullwhiteop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmhestonop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmhullwhiteop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmhullwhiteop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmlinearop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmlinearopcomposite.hpp | 2 +- ql/methods/finitedifferences/operators/fdmlinearopiterator.hpp | 2 +- ql/methods/finitedifferences/operators/fdmlinearoplayout.cpp | 2 +- ql/methods/finitedifferences/operators/fdmlinearoplayout.hpp | 2 +- ql/methods/finitedifferences/operators/fdmlocalvolfwdop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmlocalvolfwdop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmsabrop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmsabrop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmsquarerootfwdop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmsquarerootfwdop.hpp | 2 +- ql/methods/finitedifferences/operators/fdmwienerop.cpp | 2 +- ql/methods/finitedifferences/operators/fdmwienerop.hpp | 2 +- ql/methods/finitedifferences/operators/firstderivativeop.cpp | 2 +- ql/methods/finitedifferences/operators/firstderivativeop.hpp | 2 +- ql/methods/finitedifferences/operators/modtriplebandlinearop.hpp | 2 +- ql/methods/finitedifferences/operators/ninepointlinearop.cpp | 2 +- ql/methods/finitedifferences/operators/ninepointlinearop.hpp | 2 +- ql/methods/finitedifferences/operators/nthorderderivativeop.cpp | 2 +- ql/methods/finitedifferences/operators/nthorderderivativeop.hpp | 2 +- ql/methods/finitedifferences/operators/numericaldifferentiation.cpp | 2 +- ql/methods/finitedifferences/operators/numericaldifferentiation.hpp | 2 +- ql/methods/finitedifferences/operators/secondderivativeop.cpp | 2 +- ql/methods/finitedifferences/operators/secondderivativeop.hpp | 2 +- ql/methods/finitedifferences/operators/secondordermixedderivativeop.cpp | 2 +- ql/methods/finitedifferences/operators/secondordermixedderivativeop.hpp | 2 +- ql/methods/finitedifferences/operators/triplebandlinearop.cpp | 2 +- ql/methods/finitedifferences/operators/triplebandlinearop.hpp | 2 +- ql/methods/finitedifferences/operatortraits.hpp | 2 +- ql/methods/finitedifferences/parallelevolver.hpp | 2 +- ql/methods/finitedifferences/pde.hpp | 2 +- ql/methods/finitedifferences/pdebsm.hpp | 2 +- ql/methods/finitedifferences/schemes/boundaryconditionschemehelper.hpp | 2 +- ql/methods/finitedifferences/schemes/craigsneydscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/craigsneydscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/cranknicolsonscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/cranknicolsonscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/douglasscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/douglasscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/expliciteulerscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/expliciteulerscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/hundsdorferscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/hundsdorferscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/impliciteulerscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/impliciteulerscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/methodoflinesscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/methodoflinesscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/modifiedcraigsneydscheme.cpp | 2 +- ql/methods/finitedifferences/schemes/modifiedcraigsneydscheme.hpp | 2 +- ql/methods/finitedifferences/schemes/trbdf2scheme.hpp | 2 +- ql/methods/finitedifferences/solvers/fdm1dimsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdm1dimsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdm2dblackscholessolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdm2dblackscholessolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdm2dimsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdm2dimsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdm3dimsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdm3dimsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmbackwardsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmbatessolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmbatessolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmblackscholessolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmblackscholessolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmcirsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmcirsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmg2solver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmg2solver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmhestonhullwhitesolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmhestonhullwhitesolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmhestonsolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmhestonsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmhullwhitesolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmhullwhitesolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmndimsolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmsimple2dbssolver.cpp | 2 +- ql/methods/finitedifferences/solvers/fdmsimple2dbssolver.hpp | 2 +- ql/methods/finitedifferences/solvers/fdmsolverdesc.hpp | 2 +- ql/methods/finitedifferences/stepcondition.hpp | 2 +- .../finitedifferences/stepconditions/fdmamericanstepcondition.cpp | 2 +- .../finitedifferences/stepconditions/fdmamericanstepcondition.hpp | 2 +- .../finitedifferences/stepconditions/fdmarithmeticaveragecondition.cpp | 2 +- .../finitedifferences/stepconditions/fdmarithmeticaveragecondition.hpp | 2 +- .../finitedifferences/stepconditions/fdmbermudanstepcondition.cpp | 2 +- .../finitedifferences/stepconditions/fdmbermudanstepcondition.hpp | 2 +- .../finitedifferences/stepconditions/fdmsimplestoragecondition.cpp | 2 +- .../finitedifferences/stepconditions/fdmsimplestoragecondition.hpp | 2 +- ql/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.cpp | 2 +- ql/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.hpp | 2 +- ql/methods/finitedifferences/stepconditions/fdmsnapshotcondition.cpp | 2 +- ql/methods/finitedifferences/stepconditions/fdmsnapshotcondition.hpp | 2 +- .../finitedifferences/stepconditions/fdmstepconditioncomposite.cpp | 2 +- .../finitedifferences/stepconditions/fdmstepconditioncomposite.hpp | 2 +- ql/methods/finitedifferences/trbdf2.hpp | 2 +- ql/methods/finitedifferences/tridiagonaloperator.cpp | 2 +- ql/methods/finitedifferences/tridiagonaloperator.hpp | 2 +- ql/methods/finitedifferences/utilities/bsmrndcalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/bsmrndcalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/cevrndcalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/cevrndcalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/escroweddividendadjustment.cpp | 2 +- ql/methods/finitedifferences/utilities/escroweddividendadjustment.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmaffinemodelswapinnervalue.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmaffinemodelswapinnervalue.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmaffinemodeltermstructure.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmaffinemodeltermstructure.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmboundaryconditionset.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmdirichletboundary.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmdirichletboundary.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmdividendhandler.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmdividendhandler.hpp | 2 +- .../finitedifferences/utilities/fdmescrowedloginnervaluecalculator.cpp | 2 +- .../finitedifferences/utilities/fdmescrowedloginnervaluecalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmhestongreensfct.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmhestongreensfct.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmindicesonboundary.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmindicesonboundary.hpp | 2 +- ql/methods/finitedifferences/utilities/fdminnervaluecalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/fdminnervaluecalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmmesherintegral.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmmesherintegral.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmquantohelper.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmquantohelper.hpp | 2 +- .../finitedifferences/utilities/fdmshoutloginnervaluecalculator.cpp | 2 +- .../finitedifferences/utilities/fdmshoutloginnervaluecalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.cpp | 2 +- ql/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.hpp | 2 +- ql/methods/finitedifferences/utilities/gbsmrndcalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/gbsmrndcalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/hestonrndcalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/hestonrndcalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/localvolrndcalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/localvolrndcalculator.hpp | 2 +- ql/methods/finitedifferences/utilities/riskneutraldensitycalculator.cpp | 2 +- ql/methods/finitedifferences/utilities/riskneutraldensitycalculator.hpp | 2 +- .../finitedifferences/utilities/squarerootprocessrndcalculator.cpp | 2 +- .../finitedifferences/utilities/squarerootprocessrndcalculator.hpp | 2 +- ql/methods/finitedifferences/zerocondition.hpp | 2 +- ql/methods/lattices/binomialtree.cpp | 2 +- ql/methods/lattices/binomialtree.hpp | 2 +- ql/methods/lattices/bsmlattice.hpp | 2 +- ql/methods/lattices/lattice.hpp | 2 +- ql/methods/lattices/lattice1d.hpp | 2 +- ql/methods/lattices/lattice2d.hpp | 2 +- ql/methods/lattices/tflattice.hpp | 2 +- ql/methods/lattices/tree.hpp | 2 +- ql/methods/lattices/trinomialtree.cpp | 2 +- ql/methods/lattices/trinomialtree.hpp | 2 +- ql/methods/montecarlo/brownianbridge.cpp | 2 +- ql/methods/montecarlo/brownianbridge.hpp | 2 +- ql/methods/montecarlo/earlyexercisepathpricer.hpp | 2 +- ql/methods/montecarlo/exercisestrategy.hpp | 2 +- ql/methods/montecarlo/genericlsregression.cpp | 2 +- ql/methods/montecarlo/genericlsregression.hpp | 2 +- ql/methods/montecarlo/longstaffschwartzpathpricer.hpp | 2 +- ql/methods/montecarlo/lsmbasissystem.cpp | 2 +- ql/methods/montecarlo/lsmbasissystem.hpp | 2 +- ql/methods/montecarlo/mctraits.hpp | 2 +- ql/methods/montecarlo/montecarlomodel.hpp | 2 +- ql/methods/montecarlo/multipath.hpp | 2 +- ql/methods/montecarlo/multipathgenerator.hpp | 2 +- ql/methods/montecarlo/nodedata.hpp | 2 +- ql/methods/montecarlo/parametricexercise.cpp | 2 +- ql/methods/montecarlo/parametricexercise.hpp | 2 +- ql/methods/montecarlo/path.hpp | 2 +- ql/methods/montecarlo/pathgenerator.hpp | 2 +- ql/methods/montecarlo/pathpricer.hpp | 2 +- ql/methods/montecarlo/sample.hpp | 2 +- ql/models/calibrationhelper.cpp | 2 +- ql/models/calibrationhelper.hpp | 2 +- ql/models/equity/batesmodel.cpp | 2 +- ql/models/equity/batesmodel.hpp | 2 +- ql/models/equity/gjrgarchmodel.cpp | 2 +- ql/models/equity/gjrgarchmodel.hpp | 2 +- ql/models/equity/hestonmodel.cpp | 2 +- ql/models/equity/hestonmodel.hpp | 2 +- ql/models/equity/hestonmodelhelper.cpp | 2 +- ql/models/equity/hestonmodelhelper.hpp | 2 +- ql/models/equity/hestonslvfdmmodel.cpp | 2 +- ql/models/equity/hestonslvfdmmodel.hpp | 2 +- ql/models/equity/hestonslvmcmodel.cpp | 2 +- ql/models/equity/hestonslvmcmodel.hpp | 2 +- ql/models/equity/piecewisetimedependenthestonmodel.cpp | 2 +- ql/models/equity/piecewisetimedependenthestonmodel.hpp | 2 +- ql/models/marketmodels/accountingengine.cpp | 2 +- ql/models/marketmodels/accountingengine.hpp | 2 +- ql/models/marketmodels/browniangenerator.hpp | 2 +- ql/models/marketmodels/browniangenerators/mtbrowniangenerator.cpp | 2 +- ql/models/marketmodels/browniangenerators/mtbrowniangenerator.hpp | 2 +- ql/models/marketmodels/browniangenerators/sobolbrowniangenerator.cpp | 2 +- ql/models/marketmodels/browniangenerators/sobolbrowniangenerator.hpp | 2 +- ql/models/marketmodels/callability/bermudanswaptionexercisevalue.cpp | 2 +- ql/models/marketmodels/callability/bermudanswaptionexercisevalue.hpp | 2 +- ql/models/marketmodels/callability/collectnodedata.cpp | 2 +- ql/models/marketmodels/callability/collectnodedata.hpp | 2 +- ql/models/marketmodels/callability/exercisevalue.hpp | 2 +- ql/models/marketmodels/callability/lsstrategy.cpp | 2 +- ql/models/marketmodels/callability/lsstrategy.hpp | 2 +- ql/models/marketmodels/callability/marketmodelbasissystem.hpp | 2 +- ql/models/marketmodels/callability/marketmodelparametricexercise.hpp | 2 +- ql/models/marketmodels/callability/nodedataprovider.hpp | 2 +- ql/models/marketmodels/callability/nothingexercisevalue.cpp | 2 +- ql/models/marketmodels/callability/nothingexercisevalue.hpp | 2 +- ql/models/marketmodels/callability/parametricexerciseadapter.cpp | 2 +- ql/models/marketmodels/callability/parametricexerciseadapter.hpp | 2 +- ql/models/marketmodels/callability/swapbasissystem.cpp | 2 +- ql/models/marketmodels/callability/swapbasissystem.hpp | 2 +- ql/models/marketmodels/callability/swapforwardbasissystem.cpp | 2 +- ql/models/marketmodels/callability/swapforwardbasissystem.hpp | 2 +- ql/models/marketmodels/callability/swapratetrigger.cpp | 2 +- ql/models/marketmodels/callability/swapratetrigger.hpp | 2 +- ql/models/marketmodels/callability/triggeredswapexercise.cpp | 2 +- ql/models/marketmodels/callability/triggeredswapexercise.hpp | 2 +- ql/models/marketmodels/callability/upperboundengine.cpp | 2 +- ql/models/marketmodels/callability/upperboundengine.hpp | 2 +- ql/models/marketmodels/constrainedevolver.hpp | 2 +- ql/models/marketmodels/correlations/cotswapfromfwdcorrelation.cpp | 2 +- ql/models/marketmodels/correlations/cotswapfromfwdcorrelation.hpp | 2 +- ql/models/marketmodels/correlations/expcorrelations.cpp | 2 +- ql/models/marketmodels/correlations/expcorrelations.hpp | 2 +- .../marketmodels/correlations/timehomogeneousforwardcorrelation.cpp | 2 +- .../marketmodels/correlations/timehomogeneousforwardcorrelation.hpp | 2 +- ql/models/marketmodels/curvestate.cpp | 2 +- ql/models/marketmodels/curvestate.hpp | 2 +- ql/models/marketmodels/curvestates/cmswapcurvestate.cpp | 2 +- ql/models/marketmodels/curvestates/cmswapcurvestate.hpp | 2 +- ql/models/marketmodels/curvestates/coterminalswapcurvestate.cpp | 2 +- ql/models/marketmodels/curvestates/coterminalswapcurvestate.hpp | 2 +- ql/models/marketmodels/curvestates/lmmcurvestate.cpp | 2 +- ql/models/marketmodels/curvestates/lmmcurvestate.hpp | 2 +- ql/models/marketmodels/discounter.cpp | 2 +- ql/models/marketmodels/discounter.hpp | 2 +- ql/models/marketmodels/driftcomputation/cmsmmdriftcalculator.cpp | 2 +- ql/models/marketmodels/driftcomputation/cmsmmdriftcalculator.hpp | 2 +- ql/models/marketmodels/driftcomputation/lmmdriftcalculator.cpp | 2 +- ql/models/marketmodels/driftcomputation/lmmdriftcalculator.hpp | 2 +- ql/models/marketmodels/driftcomputation/lmmnormaldriftcalculator.cpp | 2 +- ql/models/marketmodels/driftcomputation/lmmnormaldriftcalculator.hpp | 2 +- ql/models/marketmodels/driftcomputation/smmdriftcalculator.cpp | 2 +- ql/models/marketmodels/driftcomputation/smmdriftcalculator.hpp | 2 +- ql/models/marketmodels/evolutiondescription.cpp | 2 +- ql/models/marketmodels/evolutiondescription.hpp | 2 +- ql/models/marketmodels/evolver.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalcmswapratepc.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalcmswapratepc.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalcotswapratepc.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalcotswapratepc.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateballand.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateballand.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateeuler.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateeuler.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateeulerconstrained.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateeulerconstrained.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateiballand.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateiballand.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateipc.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdrateipc.hpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdratepc.cpp | 2 +- ql/models/marketmodels/evolvers/lognormalfwdratepc.hpp | 2 +- ql/models/marketmodels/evolvers/marketmodelvolprocess.hpp | 2 +- ql/models/marketmodels/evolvers/normalfwdratepc.cpp | 2 +- ql/models/marketmodels/evolvers/normalfwdratepc.hpp | 2 +- ql/models/marketmodels/evolvers/svddfwdratepc.cpp | 2 +- ql/models/marketmodels/evolvers/svddfwdratepc.hpp | 2 +- ql/models/marketmodels/evolvers/volprocesses/squarerootandersen.cpp | 2 +- ql/models/marketmodels/evolvers/volprocesses/squarerootandersen.hpp | 2 +- ql/models/marketmodels/forwardforwardmappings.cpp | 2 +- ql/models/marketmodels/forwardforwardmappings.hpp | 2 +- ql/models/marketmodels/historicalforwardratesanalysis.hpp | 2 +- ql/models/marketmodels/historicalratesanalysis.cpp | 2 +- ql/models/marketmodels/historicalratesanalysis.hpp | 2 +- ql/models/marketmodels/marketmodel.cpp | 2 +- ql/models/marketmodels/marketmodel.hpp | 2 +- ql/models/marketmodels/marketmodeldifferences.cpp | 2 +- ql/models/marketmodels/marketmodeldifferences.hpp | 2 +- ql/models/marketmodels/models/abcdvol.cpp | 2 +- ql/models/marketmodels/models/abcdvol.hpp | 2 +- ql/models/marketmodels/models/alphafinder.cpp | 2 +- ql/models/marketmodels/models/alphafinder.hpp | 2 +- ql/models/marketmodels/models/alphaform.hpp | 2 +- ql/models/marketmodels/models/alphaformconcrete.cpp | 2 +- ql/models/marketmodels/models/alphaformconcrete.hpp | 2 +- ql/models/marketmodels/models/capletcoterminalalphacalibration.cpp | 2 +- ql/models/marketmodels/models/capletcoterminalalphacalibration.hpp | 2 +- ql/models/marketmodels/models/capletcoterminalmaxhomogeneity.cpp | 2 +- ql/models/marketmodels/models/capletcoterminalmaxhomogeneity.hpp | 2 +- ql/models/marketmodels/models/capletcoterminalperiodic.cpp | 2 +- ql/models/marketmodels/models/capletcoterminalperiodic.hpp | 2 +- ql/models/marketmodels/models/capletcoterminalswaptioncalibration.cpp | 2 +- ql/models/marketmodels/models/capletcoterminalswaptioncalibration.hpp | 2 +- ql/models/marketmodels/models/cotswaptofwdadapter.cpp | 2 +- ql/models/marketmodels/models/cotswaptofwdadapter.hpp | 2 +- ql/models/marketmodels/models/ctsmmcapletcalibration.cpp | 2 +- ql/models/marketmodels/models/ctsmmcapletcalibration.hpp | 2 +- ql/models/marketmodels/models/flatvol.cpp | 2 +- ql/models/marketmodels/models/flatvol.hpp | 2 +- ql/models/marketmodels/models/fwdperiodadapter.cpp | 2 +- ql/models/marketmodels/models/fwdperiodadapter.hpp | 2 +- ql/models/marketmodels/models/fwdtocotswapadapter.cpp | 2 +- ql/models/marketmodels/models/fwdtocotswapadapter.hpp | 2 +- ql/models/marketmodels/models/piecewiseconstantabcdvariance.cpp | 2 +- ql/models/marketmodels/models/piecewiseconstantabcdvariance.hpp | 2 +- ql/models/marketmodels/models/piecewiseconstantvariance.cpp | 2 +- ql/models/marketmodels/models/piecewiseconstantvariance.hpp | 2 +- ql/models/marketmodels/models/pseudorootfacade.cpp | 2 +- ql/models/marketmodels/models/pseudorootfacade.hpp | 2 +- ql/models/marketmodels/models/volatilityinterpolationspecifier.hpp | 2 +- ql/models/marketmodels/models/volatilityinterpolationspecifierabcd.cpp | 2 +- ql/models/marketmodels/models/volatilityinterpolationspecifierabcd.hpp | 2 +- ql/models/marketmodels/multiproduct.hpp | 2 +- ql/models/marketmodels/pathwiseaccountingengine.cpp | 2 +- ql/models/marketmodels/pathwiseaccountingengine.hpp | 2 +- ql/models/marketmodels/pathwisediscounter.cpp | 2 +- ql/models/marketmodels/pathwisediscounter.hpp | 2 +- ql/models/marketmodels/pathwisegreeks/bumpinstrumentjacobian.cpp | 2 +- ql/models/marketmodels/pathwisegreeks/bumpinstrumentjacobian.hpp | 2 +- ql/models/marketmodels/pathwisegreeks/ratepseudorootjacobian.cpp | 2 +- ql/models/marketmodels/pathwisegreeks/ratepseudorootjacobian.hpp | 2 +- ql/models/marketmodels/pathwisegreeks/swaptionpseudojacobian.cpp | 2 +- ql/models/marketmodels/pathwisegreeks/swaptionpseudojacobian.hpp | 2 +- ql/models/marketmodels/pathwisegreeks/vegabumpcluster.cpp | 2 +- ql/models/marketmodels/pathwisegreeks/vegabumpcluster.hpp | 2 +- ql/models/marketmodels/pathwisemultiproduct.hpp | 2 +- ql/models/marketmodels/piecewiseconstantcorrelation.hpp | 2 +- ql/models/marketmodels/products/compositeproduct.cpp | 2 +- ql/models/marketmodels/products/compositeproduct.hpp | 2 +- ql/models/marketmodels/products/multiproductcomposite.cpp | 2 +- ql/models/marketmodels/products/multiproductcomposite.hpp | 2 +- ql/models/marketmodels/products/multiproductmultistep.cpp | 2 +- ql/models/marketmodels/products/multiproductmultistep.hpp | 2 +- ql/models/marketmodels/products/multiproductonestep.cpp | 2 +- ql/models/marketmodels/products/multiproductonestep.hpp | 2 +- ql/models/marketmodels/products/multistep/callspecifiedmultiproduct.cpp | 2 +- ql/models/marketmodels/products/multistep/callspecifiedmultiproduct.hpp | 2 +- ql/models/marketmodels/products/multistep/cashrebate.cpp | 2 +- ql/models/marketmodels/products/multistep/cashrebate.hpp | 2 +- ql/models/marketmodels/products/multistep/exerciseadapter.cpp | 2 +- ql/models/marketmodels/products/multistep/exerciseadapter.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepcoinitialswaps.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepcoinitialswaps.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepcoterminalswaps.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepcoterminalswaps.hpp | 2 +- .../marketmodels/products/multistep/multistepcoterminalswaptions.cpp | 2 +- .../marketmodels/products/multistep/multistepcoterminalswaptions.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepforwards.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepforwards.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepinversefloater.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepinversefloater.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepnothing.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepnothing.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepoptionlets.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepoptionlets.hpp | 2 +- ql/models/marketmodels/products/multistep/multisteppathwisewrapper.cpp | 2 +- ql/models/marketmodels/products/multistep/multisteppathwisewrapper.hpp | 2 +- .../marketmodels/products/multistep/multistepperiodcapletswaptions.cpp | 2 +- .../marketmodels/products/multistep/multistepperiodcapletswaptions.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepratchet.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepratchet.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepswap.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepswap.hpp | 2 +- ql/models/marketmodels/products/multistep/multistepswaption.cpp | 2 +- ql/models/marketmodels/products/multistep/multistepswaption.hpp | 2 +- ql/models/marketmodels/products/multistep/multisteptarn.cpp | 2 +- ql/models/marketmodels/products/multistep/multisteptarn.hpp | 2 +- ql/models/marketmodels/products/onestep/onestepcoinitialswaps.cpp | 2 +- ql/models/marketmodels/products/onestep/onestepcoinitialswaps.hpp | 2 +- ql/models/marketmodels/products/onestep/onestepcoterminalswaps.cpp | 2 +- ql/models/marketmodels/products/onestep/onestepcoterminalswaps.hpp | 2 +- ql/models/marketmodels/products/onestep/onestepforwards.cpp | 2 +- ql/models/marketmodels/products/onestep/onestepforwards.hpp | 2 +- ql/models/marketmodels/products/onestep/onestepoptionlets.cpp | 2 +- ql/models/marketmodels/products/onestep/onestepoptionlets.hpp | 2 +- .../marketmodels/products/pathwise/pathwiseproductcallspecified.cpp | 2 +- .../marketmodels/products/pathwise/pathwiseproductcallspecified.hpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductcaplet.cpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductcaplet.hpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductcashrebate.cpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductcashrebate.hpp | 2 +- .../marketmodels/products/pathwise/pathwiseproductinversefloater.cpp | 2 +- .../marketmodels/products/pathwise/pathwiseproductinversefloater.hpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductswap.cpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductswap.hpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductswaption.cpp | 2 +- ql/models/marketmodels/products/pathwise/pathwiseproductswaption.hpp | 2 +- ql/models/marketmodels/products/singleproductcomposite.cpp | 2 +- ql/models/marketmodels/products/singleproductcomposite.hpp | 2 +- ql/models/marketmodels/proxygreekengine.cpp | 2 +- ql/models/marketmodels/proxygreekengine.hpp | 2 +- ql/models/marketmodels/swapforwardmappings.cpp | 2 +- ql/models/marketmodels/swapforwardmappings.hpp | 2 +- ql/models/marketmodels/utilities.cpp | 2 +- ql/models/marketmodels/utilities.hpp | 2 +- ql/models/model.cpp | 2 +- ql/models/model.hpp | 2 +- ql/models/parameter.hpp | 2 +- ql/models/shortrate/calibrationhelpers/caphelper.cpp | 2 +- ql/models/shortrate/calibrationhelpers/caphelper.hpp | 2 +- ql/models/shortrate/calibrationhelpers/swaptionhelper.cpp | 2 +- ql/models/shortrate/calibrationhelpers/swaptionhelper.hpp | 2 +- ql/models/shortrate/onefactormodel.cpp | 2 +- ql/models/shortrate/onefactormodel.hpp | 2 +- ql/models/shortrate/onefactormodels/blackkarasinski.cpp | 2 +- ql/models/shortrate/onefactormodels/blackkarasinski.hpp | 2 +- ql/models/shortrate/onefactormodels/coxingersollross.cpp | 2 +- ql/models/shortrate/onefactormodels/coxingersollross.hpp | 2 +- ql/models/shortrate/onefactormodels/extendedcoxingersollross.cpp | 2 +- ql/models/shortrate/onefactormodels/extendedcoxingersollross.hpp | 2 +- ql/models/shortrate/onefactormodels/gaussian1dmodel.cpp | 2 +- ql/models/shortrate/onefactormodels/gaussian1dmodel.hpp | 2 +- ql/models/shortrate/onefactormodels/gsr.cpp | 2 +- ql/models/shortrate/onefactormodels/gsr.hpp | 2 +- ql/models/shortrate/onefactormodels/hullwhite.cpp | 2 +- ql/models/shortrate/onefactormodels/hullwhite.hpp | 2 +- ql/models/shortrate/onefactormodels/markovfunctional.cpp | 2 +- ql/models/shortrate/onefactormodels/markovfunctional.hpp | 2 +- ql/models/shortrate/onefactormodels/vasicek.cpp | 2 +- ql/models/shortrate/onefactormodels/vasicek.hpp | 2 +- ql/models/shortrate/twofactormodel.cpp | 2 +- ql/models/shortrate/twofactormodel.hpp | 2 +- ql/models/shortrate/twofactormodels/g2.cpp | 2 +- ql/models/shortrate/twofactormodels/g2.hpp | 2 +- ql/models/volatility/constantestimator.cpp | 2 +- ql/models/volatility/constantestimator.hpp | 2 +- ql/models/volatility/garch.cpp | 2 +- ql/models/volatility/garch.hpp | 2 +- ql/models/volatility/garmanklass.hpp | 2 +- ql/models/volatility/simplelocalestimator.hpp | 2 +- ql/money.cpp | 2 +- ql/money.hpp | 2 +- ql/numericalmethod.hpp | 2 +- ql/option.hpp | 2 +- ql/optional.hpp | 2 +- ql/patterns/curiouslyrecurring.hpp | 2 +- ql/patterns/lazyobject.hpp | 2 +- ql/patterns/observable.cpp | 2 +- ql/patterns/observable.hpp | 2 +- ql/patterns/singleton.hpp | 2 +- ql/patterns/visitor.hpp | 2 +- ql/payoff.hpp | 2 +- ql/position.cpp | 2 +- ql/position.hpp | 2 +- ql/prices.cpp | 2 +- ql/prices.hpp | 2 +- ql/pricingengine.hpp | 2 +- ql/pricingengines/americanpayoffatexpiry.cpp | 2 +- ql/pricingengines/americanpayoffatexpiry.hpp | 2 +- ql/pricingengines/americanpayoffathit.cpp | 2 +- ql/pricingengines/americanpayoffathit.hpp | 2 +- ql/pricingengines/asian/analytic_cont_geom_av_price.cpp | 2 +- ql/pricingengines/asian/analytic_cont_geom_av_price.hpp | 2 +- ql/pricingengines/asian/analytic_discr_geom_av_price.cpp | 2 +- ql/pricingengines/asian/analytic_discr_geom_av_price.hpp | 2 +- ql/pricingengines/asian/analytic_discr_geom_av_strike.cpp | 2 +- ql/pricingengines/asian/analytic_discr_geom_av_strike.hpp | 2 +- ql/pricingengines/asian/choiasianengine.cpp | 2 +- ql/pricingengines/asian/choiasianengine.hpp | 2 +- ql/pricingengines/asian/continuousarithmeticasianlevyengine.cpp | 2 +- ql/pricingengines/asian/continuousarithmeticasianlevyengine.hpp | 2 +- ql/pricingengines/asian/fdblackscholesasianengine.cpp | 2 +- ql/pricingengines/asian/fdblackscholesasianengine.hpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_price.cpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_price.hpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_price_heston.cpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_price_heston.hpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_strike.cpp | 2 +- ql/pricingengines/asian/mc_discr_arith_av_strike.hpp | 2 +- ql/pricingengines/asian/mc_discr_geom_av_price.cpp | 2 +- ql/pricingengines/asian/mc_discr_geom_av_price.hpp | 2 +- ql/pricingengines/asian/mc_discr_geom_av_price_heston.cpp | 2 +- ql/pricingengines/asian/mc_discr_geom_av_price_heston.hpp | 2 +- ql/pricingengines/asian/mcdiscreteasianenginebase.hpp | 2 +- ql/pricingengines/asian/turnbullwakemanasianengine.cpp | 2 +- ql/pricingengines/asian/turnbullwakemanasianengine.hpp | 2 +- ql/pricingengines/barrier/analyticbarrierengine.cpp | 2 +- ql/pricingengines/barrier/analyticbarrierengine.hpp | 2 +- ql/pricingengines/barrier/analyticbinarybarrierengine.cpp | 2 +- ql/pricingengines/barrier/analyticbinarybarrierengine.hpp | 2 +- ql/pricingengines/barrier/analyticdoublebarrierbinaryengine.cpp | 2 +- ql/pricingengines/barrier/analyticdoublebarrierbinaryengine.hpp | 2 +- ql/pricingengines/barrier/analyticdoublebarrierengine.cpp | 2 +- ql/pricingengines/barrier/analyticdoublebarrierengine.hpp | 2 +- ql/pricingengines/barrier/analyticpartialtimebarrieroptionengine.cpp | 2 +- ql/pricingengines/barrier/analyticpartialtimebarrieroptionengine.hpp | 2 +- ql/pricingengines/barrier/analyticsoftbarrierengine.cpp | 2 +- ql/pricingengines/barrier/analyticsoftbarrierengine.hpp | 2 +- ql/pricingengines/barrier/analytictwoassetbarrierengine.cpp | 2 +- ql/pricingengines/barrier/analytictwoassetbarrierengine.hpp | 2 +- ql/pricingengines/barrier/binomialbarrierengine.hpp | 2 +- ql/pricingengines/barrier/discretizedbarrieroption.cpp | 2 +- ql/pricingengines/barrier/discretizedbarrieroption.hpp | 2 +- ql/pricingengines/barrier/fdblackscholesbarrierengine.cpp | 2 +- ql/pricingengines/barrier/fdblackscholesbarrierengine.hpp | 2 +- ql/pricingengines/barrier/fdblackscholesrebateengine.cpp | 2 +- ql/pricingengines/barrier/fdblackscholesrebateengine.hpp | 2 +- ql/pricingengines/barrier/fdhestonbarrierengine.cpp | 2 +- ql/pricingengines/barrier/fdhestonbarrierengine.hpp | 2 +- ql/pricingengines/barrier/fdhestondoublebarrierengine.cpp | 2 +- ql/pricingengines/barrier/fdhestondoublebarrierengine.hpp | 2 +- ql/pricingengines/barrier/fdhestonrebateengine.cpp | 2 +- ql/pricingengines/barrier/fdhestonrebateengine.hpp | 2 +- ql/pricingengines/barrier/mcbarrierengine.cpp | 2 +- ql/pricingengines/barrier/mcbarrierengine.hpp | 2 +- ql/pricingengines/basket/bjerksundstenslandspreadengine.cpp | 2 +- ql/pricingengines/basket/bjerksundstenslandspreadengine.hpp | 2 +- ql/pricingengines/basket/choibasketengine.cpp | 2 +- ql/pricingengines/basket/choibasketengine.hpp | 2 +- ql/pricingengines/basket/denglizhoubasketengine.cpp | 2 +- ql/pricingengines/basket/denglizhoubasketengine.hpp | 2 +- ql/pricingengines/basket/fd2dblackscholesvanillaengine.cpp | 2 +- ql/pricingengines/basket/fd2dblackscholesvanillaengine.hpp | 2 +- ql/pricingengines/basket/fdndimblackscholesvanillaengine.cpp | 2 +- ql/pricingengines/basket/fdndimblackscholesvanillaengine.hpp | 2 +- ql/pricingengines/basket/kirkengine.cpp | 2 +- ql/pricingengines/basket/kirkengine.hpp | 2 +- ql/pricingengines/basket/mcamericanbasketengine.cpp | 2 +- ql/pricingengines/basket/mcamericanbasketengine.hpp | 2 +- ql/pricingengines/basket/mceuropeanbasketengine.cpp | 2 +- ql/pricingengines/basket/mceuropeanbasketengine.hpp | 2 +- ql/pricingengines/basket/operatorsplittingspreadengine.cpp | 2 +- ql/pricingengines/basket/operatorsplittingspreadengine.hpp | 2 +- ql/pricingengines/basket/singlefactorbsmbasketengine.cpp | 2 +- ql/pricingengines/basket/singlefactorbsmbasketengine.hpp | 2 +- ql/pricingengines/basket/spreadblackscholesvanillaengine.cpp | 2 +- ql/pricingengines/basket/spreadblackscholesvanillaengine.hpp | 2 +- ql/pricingengines/basket/stulzengine.cpp | 2 +- ql/pricingengines/basket/stulzengine.hpp | 2 +- ql/pricingengines/basket/vectorbsmprocessextractor.cpp | 2 +- ql/pricingengines/basket/vectorbsmprocessextractor.hpp | 2 +- ql/pricingengines/blackcalculator.cpp | 2 +- ql/pricingengines/blackcalculator.hpp | 2 +- ql/pricingengines/blackformula.cpp | 2 +- ql/pricingengines/blackformula.hpp | 2 +- ql/pricingengines/blackscholescalculator.cpp | 2 +- ql/pricingengines/blackscholescalculator.hpp | 2 +- ql/pricingengines/bond/binomialconvertibleengine.hpp | 2 +- ql/pricingengines/bond/bondfunctions.cpp | 2 +- ql/pricingengines/bond/bondfunctions.hpp | 2 +- ql/pricingengines/bond/discountingbondengine.cpp | 2 +- ql/pricingengines/bond/discountingbondengine.hpp | 2 +- ql/pricingengines/bond/discretizedconvertible.cpp | 2 +- ql/pricingengines/bond/discretizedconvertible.hpp | 2 +- ql/pricingengines/bond/riskybondengine.cpp | 2 +- ql/pricingengines/bond/riskybondengine.hpp | 2 +- ql/pricingengines/capfloor/analyticcapfloorengine.cpp | 2 +- ql/pricingengines/capfloor/analyticcapfloorengine.hpp | 2 +- ql/pricingengines/capfloor/bacheliercapfloorengine.cpp | 2 +- ql/pricingengines/capfloor/bacheliercapfloorengine.hpp | 2 +- ql/pricingengines/capfloor/blackcapfloorengine.cpp | 2 +- ql/pricingengines/capfloor/blackcapfloorengine.hpp | 2 +- ql/pricingengines/capfloor/discretizedcapfloor.cpp | 2 +- ql/pricingengines/capfloor/discretizedcapfloor.hpp | 2 +- ql/pricingengines/capfloor/gaussian1dcapfloorengine.cpp | 2 +- ql/pricingengines/capfloor/gaussian1dcapfloorengine.hpp | 2 +- ql/pricingengines/capfloor/mchullwhiteengine.cpp | 2 +- ql/pricingengines/capfloor/mchullwhiteengine.hpp | 2 +- ql/pricingengines/capfloor/treecapfloorengine.cpp | 2 +- ql/pricingengines/capfloor/treecapfloorengine.hpp | 2 +- ql/pricingengines/cliquet/analyticcliquetengine.cpp | 2 +- ql/pricingengines/cliquet/analyticcliquetengine.hpp | 2 +- ql/pricingengines/cliquet/analyticperformanceengine.cpp | 2 +- ql/pricingengines/cliquet/analyticperformanceengine.hpp | 2 +- ql/pricingengines/cliquet/mcperformanceengine.cpp | 2 +- ql/pricingengines/cliquet/mcperformanceengine.hpp | 2 +- ql/pricingengines/credit/integralcdsengine.cpp | 2 +- ql/pricingengines/credit/integralcdsengine.hpp | 2 +- ql/pricingengines/credit/isdacdsengine.cpp | 2 +- ql/pricingengines/credit/isdacdsengine.hpp | 2 +- ql/pricingengines/credit/midpointcdsengine.cpp | 2 +- ql/pricingengines/credit/midpointcdsengine.hpp | 2 +- ql/pricingengines/exotic/analyticamericanmargrabeengine.cpp | 2 +- ql/pricingengines/exotic/analyticamericanmargrabeengine.hpp | 2 +- ql/pricingengines/exotic/analyticcomplexchooserengine.cpp | 2 +- ql/pricingengines/exotic/analyticcomplexchooserengine.hpp | 2 +- ql/pricingengines/exotic/analyticcompoundoptionengine.cpp | 2 +- ql/pricingengines/exotic/analyticcompoundoptionengine.hpp | 2 +- ql/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp | 2 +- ql/pricingengines/exotic/analyticeuropeanmargrabeengine.hpp | 2 +- ql/pricingengines/exotic/analyticholderextensibleoptionengine.cpp | 2 +- ql/pricingengines/exotic/analyticholderextensibleoptionengine.hpp | 2 +- ql/pricingengines/exotic/analyticsimplechooserengine.cpp | 2 +- ql/pricingengines/exotic/analyticsimplechooserengine.hpp | 2 +- ql/pricingengines/exotic/analytictwoassetcorrelationengine.cpp | 2 +- ql/pricingengines/exotic/analytictwoassetcorrelationengine.hpp | 2 +- ql/pricingengines/exotic/analyticwriterextensibleoptionengine.cpp | 2 +- ql/pricingengines/exotic/analyticwriterextensibleoptionengine.hpp | 2 +- ql/pricingengines/forward/forwardengine.hpp | 2 +- ql/pricingengines/forward/forwardperformanceengine.hpp | 2 +- ql/pricingengines/forward/mcforwardeuropeanbsengine.cpp | 2 +- ql/pricingengines/forward/mcforwardeuropeanbsengine.hpp | 2 +- ql/pricingengines/forward/mcforwardeuropeanhestonengine.cpp | 2 +- ql/pricingengines/forward/mcforwardeuropeanhestonengine.hpp | 2 +- ql/pricingengines/forward/mcforwardvanillaengine.hpp | 2 +- ql/pricingengines/forward/mcvarianceswapengine.hpp | 2 +- ql/pricingengines/forward/replicatingvarianceswapengine.hpp | 2 +- ql/pricingengines/genericmodelengine.hpp | 2 +- ql/pricingengines/greeks.cpp | 2 +- ql/pricingengines/greeks.hpp | 2 +- ql/pricingengines/inflation/inflationcapfloorengines.cpp | 2 +- ql/pricingengines/inflation/inflationcapfloorengines.hpp | 2 +- ql/pricingengines/latticeshortratemodelengine.hpp | 2 +- ql/pricingengines/lookback/analyticcontinuousfixedlookback.cpp | 2 +- ql/pricingengines/lookback/analyticcontinuousfixedlookback.hpp | 2 +- ql/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp | 2 +- ql/pricingengines/lookback/analyticcontinuousfloatinglookback.hpp | 2 +- ql/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp | 2 +- ql/pricingengines/lookback/analyticcontinuouspartialfixedlookback.hpp | 2 +- .../lookback/analyticcontinuouspartialfloatinglookback.cpp | 2 +- .../lookback/analyticcontinuouspartialfloatinglookback.hpp | 2 +- ql/pricingengines/lookback/mclookbackengine.cpp | 2 +- ql/pricingengines/lookback/mclookbackengine.hpp | 2 +- ql/pricingengines/mclongstaffschwartzengine.hpp | 2 +- ql/pricingengines/mcsimulation.hpp | 2 +- ql/pricingengines/quanto/quantoengine.hpp | 2 +- ql/pricingengines/swap/cvaswapengine.cpp | 2 +- ql/pricingengines/swap/cvaswapengine.hpp | 2 +- ql/pricingengines/swap/discountingswapengine.cpp | 2 +- ql/pricingengines/swap/discountingswapengine.hpp | 2 +- ql/pricingengines/swap/discretizedswap.cpp | 2 +- ql/pricingengines/swap/discretizedswap.hpp | 2 +- ql/pricingengines/swap/treeswapengine.cpp | 2 +- ql/pricingengines/swap/treeswapengine.hpp | 2 +- ql/pricingengines/swaption/basketgeneratingengine.cpp | 2 +- ql/pricingengines/swaption/basketgeneratingengine.hpp | 2 +- ql/pricingengines/swaption/blackswaptionengine.cpp | 2 +- ql/pricingengines/swaption/blackswaptionengine.hpp | 2 +- ql/pricingengines/swaption/discretizedswaption.cpp | 2 +- ql/pricingengines/swaption/discretizedswaption.hpp | 2 +- ql/pricingengines/swaption/fdg2swaptionengine.cpp | 2 +- ql/pricingengines/swaption/fdg2swaptionengine.hpp | 2 +- ql/pricingengines/swaption/fdhullwhiteswaptionengine.cpp | 2 +- ql/pricingengines/swaption/fdhullwhiteswaptionengine.hpp | 2 +- ql/pricingengines/swaption/g2swaptionengine.hpp | 2 +- ql/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.cpp | 2 +- ql/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.hpp | 2 +- ql/pricingengines/swaption/gaussian1djamshidianswaptionengine.cpp | 2 +- ql/pricingengines/swaption/gaussian1djamshidianswaptionengine.hpp | 2 +- ql/pricingengines/swaption/gaussian1dnonstandardswaptionengine.cpp | 2 +- ql/pricingengines/swaption/gaussian1dnonstandardswaptionengine.hpp | 2 +- ql/pricingengines/swaption/gaussian1dswaptionengine.cpp | 2 +- ql/pricingengines/swaption/gaussian1dswaptionengine.hpp | 2 +- ql/pricingengines/swaption/jamshidianswaptionengine.cpp | 2 +- ql/pricingengines/swaption/jamshidianswaptionengine.hpp | 2 +- ql/pricingengines/swaption/treeswaptionengine.cpp | 2 +- ql/pricingengines/swaption/treeswaptionengine.hpp | 2 +- ql/pricingengines/vanilla/analyticbsmhullwhiteengine.cpp | 2 +- ql/pricingengines/vanilla/analyticbsmhullwhiteengine.hpp | 2 +- ql/pricingengines/vanilla/analyticcevengine.cpp | 2 +- ql/pricingengines/vanilla/analyticcevengine.hpp | 2 +- ql/pricingengines/vanilla/analyticdigitalamericanengine.cpp | 2 +- ql/pricingengines/vanilla/analyticdigitalamericanengine.hpp | 2 +- ql/pricingengines/vanilla/analyticdividendeuropeanengine.cpp | 2 +- ql/pricingengines/vanilla/analyticdividendeuropeanengine.hpp | 2 +- ql/pricingengines/vanilla/analyticeuropeanengine.cpp | 2 +- ql/pricingengines/vanilla/analyticeuropeanengine.hpp | 2 +- ql/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp | 2 +- ql/pricingengines/vanilla/analyticeuropeanvasicekengine.hpp | 2 +- ql/pricingengines/vanilla/analyticgjrgarchengine.cpp | 2 +- ql/pricingengines/vanilla/analyticgjrgarchengine.hpp | 2 +- ql/pricingengines/vanilla/analytich1hwengine.cpp | 2 +- ql/pricingengines/vanilla/analytich1hwengine.hpp | 2 +- ql/pricingengines/vanilla/analytichestonengine.cpp | 2 +- ql/pricingengines/vanilla/analytichestonengine.hpp | 2 +- ql/pricingengines/vanilla/analytichestonhullwhiteengine.cpp | 2 +- ql/pricingengines/vanilla/analytichestonhullwhiteengine.hpp | 2 +- ql/pricingengines/vanilla/analyticpdfhestonengine.cpp | 2 +- ql/pricingengines/vanilla/analyticpdfhestonengine.hpp | 2 +- ql/pricingengines/vanilla/analyticptdhestonengine.cpp | 2 +- ql/pricingengines/vanilla/analyticptdhestonengine.hpp | 2 +- ql/pricingengines/vanilla/baroneadesiwhaleyengine.cpp | 2 +- ql/pricingengines/vanilla/baroneadesiwhaleyengine.hpp | 2 +- ql/pricingengines/vanilla/batesengine.cpp | 2 +- ql/pricingengines/vanilla/batesengine.hpp | 2 +- ql/pricingengines/vanilla/binomialengine.hpp | 2 +- ql/pricingengines/vanilla/bjerksundstenslandengine.cpp | 2 +- ql/pricingengines/vanilla/bjerksundstenslandengine.hpp | 2 +- ql/pricingengines/vanilla/coshestonengine.cpp | 2 +- ql/pricingengines/vanilla/coshestonengine.hpp | 2 +- ql/pricingengines/vanilla/discretizedvanillaoption.cpp | 2 +- ql/pricingengines/vanilla/discretizedvanillaoption.hpp | 2 +- ql/pricingengines/vanilla/exponentialfittinghestonengine.cpp | 2 +- ql/pricingengines/vanilla/exponentialfittinghestonengine.hpp | 2 +- ql/pricingengines/vanilla/fdbatesvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdbatesvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdblackscholesshoutengine.cpp | 2 +- ql/pricingengines/vanilla/fdblackscholesshoutengine.hpp | 2 +- ql/pricingengines/vanilla/fdblackscholesvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdblackscholesvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdcevvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdcevvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdcirvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdcirvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdhestonhullwhitevanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdhestonhullwhitevanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdhestonvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdhestonvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdmultiperiodengine.hpp | 2 +- ql/pricingengines/vanilla/fdsabrvanillaengine.cpp | 2 +- ql/pricingengines/vanilla/fdsabrvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/fdsimplebsswingengine.cpp | 2 +- ql/pricingengines/vanilla/fdsimplebsswingengine.hpp | 2 +- ql/pricingengines/vanilla/fdvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/hestonexpansionengine.cpp | 2 +- ql/pricingengines/vanilla/hestonexpansionengine.hpp | 2 +- ql/pricingengines/vanilla/integralengine.cpp | 2 +- ql/pricingengines/vanilla/integralengine.hpp | 2 +- ql/pricingengines/vanilla/jumpdiffusionengine.cpp | 2 +- ql/pricingengines/vanilla/jumpdiffusionengine.hpp | 2 +- ql/pricingengines/vanilla/juquadraticengine.cpp | 2 +- ql/pricingengines/vanilla/juquadraticengine.hpp | 2 +- ql/pricingengines/vanilla/mcamericanengine.cpp | 2 +- ql/pricingengines/vanilla/mcamericanengine.hpp | 2 +- ql/pricingengines/vanilla/mcdigitalengine.cpp | 2 +- ql/pricingengines/vanilla/mcdigitalengine.hpp | 2 +- ql/pricingengines/vanilla/mceuropeanengine.hpp | 2 +- ql/pricingengines/vanilla/mceuropeangjrgarchengine.hpp | 2 +- ql/pricingengines/vanilla/mceuropeanhestonengine.hpp | 2 +- ql/pricingengines/vanilla/mchestonhullwhiteengine.cpp | 2 +- ql/pricingengines/vanilla/mchestonhullwhiteengine.hpp | 2 +- ql/pricingengines/vanilla/mcvanillaengine.hpp | 2 +- ql/pricingengines/vanilla/qdfpamericanengine.cpp | 2 +- ql/pricingengines/vanilla/qdfpamericanengine.hpp | 2 +- ql/pricingengines/vanilla/qdplusamericanengine.cpp | 2 +- ql/pricingengines/vanilla/qdplusamericanengine.hpp | 2 +- ql/processes/batesprocess.cpp | 2 +- ql/processes/batesprocess.hpp | 2 +- ql/processes/blackscholesprocess.cpp | 2 +- ql/processes/blackscholesprocess.hpp | 2 +- ql/processes/coxingersollrossprocess.cpp | 2 +- ql/processes/coxingersollrossprocess.hpp | 2 +- ql/processes/endeulerdiscretization.cpp | 2 +- ql/processes/endeulerdiscretization.hpp | 2 +- ql/processes/eulerdiscretization.cpp | 2 +- ql/processes/eulerdiscretization.hpp | 2 +- ql/processes/forwardmeasureprocess.cpp | 2 +- ql/processes/forwardmeasureprocess.hpp | 2 +- ql/processes/g2process.cpp | 2 +- ql/processes/g2process.hpp | 2 +- ql/processes/geometricbrownianprocess.cpp | 2 +- ql/processes/geometricbrownianprocess.hpp | 2 +- ql/processes/gjrgarchprocess.cpp | 2 +- ql/processes/gjrgarchprocess.hpp | 2 +- ql/processes/gsrprocess.cpp | 2 +- ql/processes/gsrprocess.hpp | 2 +- ql/processes/gsrprocesscore.cpp | 2 +- ql/processes/gsrprocesscore.hpp | 2 +- ql/processes/hestonprocess.cpp | 2 +- ql/processes/hestonprocess.hpp | 2 +- ql/processes/hestonslvprocess.cpp | 2 +- ql/processes/hestonslvprocess.hpp | 2 +- ql/processes/hullwhiteprocess.cpp | 2 +- ql/processes/hullwhiteprocess.hpp | 2 +- ql/processes/hybridhestonhullwhiteprocess.cpp | 2 +- ql/processes/hybridhestonhullwhiteprocess.hpp | 2 +- ql/processes/jointstochasticprocess.cpp | 2 +- ql/processes/jointstochasticprocess.hpp | 2 +- ql/processes/merton76process.cpp | 2 +- ql/processes/merton76process.hpp | 2 +- ql/processes/mfstateprocess.cpp | 2 +- ql/processes/mfstateprocess.hpp | 2 +- ql/processes/ornsteinuhlenbeckprocess.cpp | 2 +- ql/processes/ornsteinuhlenbeckprocess.hpp | 2 +- ql/processes/squarerootprocess.cpp | 2 +- ql/processes/squarerootprocess.hpp | 2 +- ql/processes/stochasticprocessarray.cpp | 2 +- ql/processes/stochasticprocessarray.hpp | 2 +- ql/qldefines.hpp | 2 +- ql/qldefines.hpp.cfg | 2 +- ql/quote.cpp | 2 +- ql/quote.hpp | 2 +- ql/quotes/compositequote.hpp | 2 +- ql/quotes/derivedquote.hpp | 2 +- ql/quotes/eurodollarfuturesquote.cpp | 2 +- ql/quotes/eurodollarfuturesquote.hpp | 2 +- ql/quotes/forwardswapquote.cpp | 2 +- ql/quotes/forwardswapquote.hpp | 2 +- ql/quotes/forwardvaluequote.cpp | 2 +- ql/quotes/forwardvaluequote.hpp | 2 +- ql/quotes/futuresconvadjustmentquote.cpp | 2 +- ql/quotes/futuresconvadjustmentquote.hpp | 2 +- ql/quotes/impliedstddevquote.cpp | 2 +- ql/quotes/impliedstddevquote.hpp | 2 +- ql/quotes/lastfixingquote.cpp | 2 +- ql/quotes/lastfixingquote.hpp | 2 +- ql/quotes/simplequote.hpp | 2 +- ql/rebatedexercise.cpp | 2 +- ql/rebatedexercise.hpp | 2 +- ql/settings.cpp | 2 +- ql/settings.hpp | 2 +- ql/shared_ptr.hpp | 2 +- ql/stochasticprocess.cpp | 2 +- ql/stochasticprocess.hpp | 2 +- ql/termstructure.cpp | 2 +- ql/termstructure.hpp | 2 +- ql/termstructures/bootstraperror.hpp | 2 +- ql/termstructures/bootstraphelper.hpp | 2 +- ql/termstructures/credit/defaultdensitystructure.cpp | 2 +- ql/termstructures/credit/defaultdensitystructure.hpp | 2 +- ql/termstructures/credit/defaultprobabilityhelpers.cpp | 2 +- ql/termstructures/credit/defaultprobabilityhelpers.hpp | 2 +- ql/termstructures/credit/flathazardrate.cpp | 2 +- ql/termstructures/credit/flathazardrate.hpp | 2 +- ql/termstructures/credit/hazardratestructure.cpp | 2 +- ql/termstructures/credit/hazardratestructure.hpp | 2 +- ql/termstructures/credit/interpolateddefaultdensitycurve.hpp | 2 +- ql/termstructures/credit/interpolatedhazardratecurve.hpp | 2 +- ql/termstructures/credit/interpolatedsurvivalprobabilitycurve.hpp | 2 +- ql/termstructures/credit/piecewisedefaultcurve.hpp | 2 +- ql/termstructures/credit/probabilitytraits.hpp | 2 +- ql/termstructures/credit/survivalprobabilitystructure.cpp | 2 +- ql/termstructures/credit/survivalprobabilitystructure.hpp | 2 +- ql/termstructures/defaulttermstructure.cpp | 2 +- ql/termstructures/defaulttermstructure.hpp | 2 +- ql/termstructures/globalbootstrap.hpp | 2 +- ql/termstructures/inflation/inflationhelpers.cpp | 2 +- ql/termstructures/inflation/inflationhelpers.hpp | 2 +- ql/termstructures/inflation/inflationtraits.hpp | 2 +- ql/termstructures/inflation/interpolatedyoyinflationcurve.hpp | 2 +- ql/termstructures/inflation/interpolatedzeroinflationcurve.hpp | 2 +- ql/termstructures/inflation/piecewiseyoyinflationcurve.hpp | 2 +- ql/termstructures/inflation/piecewisezeroinflationcurve.hpp | 2 +- ql/termstructures/inflation/seasonality.cpp | 2 +- ql/termstructures/inflation/seasonality.hpp | 2 +- ql/termstructures/inflationtermstructure.cpp | 2 +- ql/termstructures/inflationtermstructure.hpp | 2 +- ql/termstructures/interpolatedcurve.hpp | 2 +- ql/termstructures/iterativebootstrap.hpp | 2 +- ql/termstructures/localbootstrap.hpp | 2 +- ql/termstructures/volatility/abcd.cpp | 2 +- ql/termstructures/volatility/abcd.hpp | 2 +- ql/termstructures/volatility/abcdcalibration.cpp | 2 +- ql/termstructures/volatility/abcdcalibration.hpp | 2 +- ql/termstructures/volatility/atmadjustedsmilesection.cpp | 2 +- ql/termstructures/volatility/atmadjustedsmilesection.hpp | 2 +- ql/termstructures/volatility/atmsmilesection.cpp | 2 +- ql/termstructures/volatility/atmsmilesection.hpp | 2 +- .../volatility/capfloor/capfloortermvolatilitystructure.cpp | 2 +- .../volatility/capfloor/capfloortermvolatilitystructure.hpp | 2 +- ql/termstructures/volatility/capfloor/capfloortermvolcurve.cpp | 2 +- ql/termstructures/volatility/capfloor/capfloortermvolcurve.hpp | 2 +- ql/termstructures/volatility/capfloor/capfloortermvolsurface.cpp | 2 +- ql/termstructures/volatility/capfloor/capfloortermvolsurface.hpp | 2 +- ql/termstructures/volatility/capfloor/constantcapfloortermvol.cpp | 2 +- ql/termstructures/volatility/capfloor/constantcapfloortermvol.hpp | 2 +- ql/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.cpp | 2 +- ql/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.hpp | 2 +- .../volatility/equityfx/andreasenhugevolatilityadapter.cpp | 2 +- .../volatility/equityfx/andreasenhugevolatilityadapter.hpp | 2 +- .../volatility/equityfx/andreasenhugevolatilityinterpl.cpp | 2 +- .../volatility/equityfx/andreasenhugevolatilityinterpl.hpp | 2 +- ql/termstructures/volatility/equityfx/blackconstantvol.hpp | 2 +- ql/termstructures/volatility/equityfx/blackvariancecurve.cpp | 2 +- ql/termstructures/volatility/equityfx/blackvariancecurve.hpp | 2 +- ql/termstructures/volatility/equityfx/blackvariancesurface.cpp | 2 +- ql/termstructures/volatility/equityfx/blackvariancesurface.hpp | 2 +- ql/termstructures/volatility/equityfx/blackvoltermstructure.cpp | 2 +- ql/termstructures/volatility/equityfx/blackvoltermstructure.hpp | 2 +- ql/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp | 2 +- ql/termstructures/volatility/equityfx/fixedlocalvolsurface.hpp | 2 +- ql/termstructures/volatility/equityfx/gridmodellocalvolsurface.cpp | 2 +- ql/termstructures/volatility/equityfx/gridmodellocalvolsurface.hpp | 2 +- ql/termstructures/volatility/equityfx/hestonblackvolsurface.cpp | 2 +- ql/termstructures/volatility/equityfx/hestonblackvolsurface.hpp | 2 +- ql/termstructures/volatility/equityfx/impliedvoltermstructure.hpp | 2 +- ql/termstructures/volatility/equityfx/localconstantvol.hpp | 2 +- ql/termstructures/volatility/equityfx/localvolcurve.hpp | 2 +- ql/termstructures/volatility/equityfx/localvolsurface.cpp | 2 +- ql/termstructures/volatility/equityfx/localvolsurface.hpp | 2 +- ql/termstructures/volatility/equityfx/localvoltermstructure.cpp | 2 +- ql/termstructures/volatility/equityfx/localvoltermstructure.hpp | 2 +- ql/termstructures/volatility/equityfx/noexceptlocalvolsurface.hpp | 2 +- ql/termstructures/volatility/flatsmilesection.cpp | 2 +- ql/termstructures/volatility/flatsmilesection.hpp | 2 +- ql/termstructures/volatility/gaussian1dsmilesection.cpp | 2 +- ql/termstructures/volatility/gaussian1dsmilesection.hpp | 2 +- ql/termstructures/volatility/inflation/constantcpivolatility.cpp | 2 +- ql/termstructures/volatility/inflation/constantcpivolatility.hpp | 2 +- ql/termstructures/volatility/inflation/cpivolatilitystructure.cpp | 2 +- ql/termstructures/volatility/inflation/cpivolatilitystructure.hpp | 2 +- .../volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp | 2 +- .../volatility/inflation/yoyinflationoptionletvolatilitystructure.hpp | 2 +- ql/termstructures/volatility/interpolatedsmilesection.hpp | 2 +- ql/termstructures/volatility/kahalesmilesection.cpp | 2 +- ql/termstructures/volatility/kahalesmilesection.hpp | 2 +- ql/termstructures/volatility/optionlet/capletvariancecurve.hpp | 2 +- ql/termstructures/volatility/optionlet/constantoptionletvol.cpp | 2 +- ql/termstructures/volatility/optionlet/constantoptionletvol.hpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper.cpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper.hpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper1.cpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper1.hpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper2.cpp | 2 +- ql/termstructures/volatility/optionlet/optionletstripper2.hpp | 2 +- ql/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp | 2 +- ql/termstructures/volatility/optionlet/optionletvolatilitystructure.hpp | 2 +- ql/termstructures/volatility/optionlet/spreadedoptionletvol.cpp | 2 +- ql/termstructures/volatility/optionlet/spreadedoptionletvol.hpp | 2 +- ql/termstructures/volatility/optionlet/strippedoptionlet.cpp | 2 +- ql/termstructures/volatility/optionlet/strippedoptionlet.hpp | 2 +- ql/termstructures/volatility/optionlet/strippedoptionletadapter.cpp | 2 +- ql/termstructures/volatility/optionlet/strippedoptionletadapter.hpp | 2 +- ql/termstructures/volatility/optionlet/strippedoptionletbase.hpp | 2 +- ql/termstructures/volatility/sabr.cpp | 2 +- ql/termstructures/volatility/sabr.hpp | 2 +- ql/termstructures/volatility/sabrinterpolatedsmilesection.cpp | 2 +- ql/termstructures/volatility/sabrinterpolatedsmilesection.hpp | 2 +- ql/termstructures/volatility/sabrsmilesection.cpp | 2 +- ql/termstructures/volatility/sabrsmilesection.hpp | 2 +- ql/termstructures/volatility/smilesection.cpp | 2 +- ql/termstructures/volatility/smilesection.hpp | 2 +- ql/termstructures/volatility/smilesectionutils.cpp | 2 +- ql/termstructures/volatility/smilesectionutils.hpp | 2 +- ql/termstructures/volatility/spreadedsmilesection.cpp | 2 +- ql/termstructures/volatility/spreadedsmilesection.hpp | 2 +- ql/termstructures/volatility/swaption/cmsmarket.cpp | 2 +- ql/termstructures/volatility/swaption/cmsmarket.hpp | 2 +- ql/termstructures/volatility/swaption/cmsmarketcalibration.cpp | 2 +- ql/termstructures/volatility/swaption/cmsmarketcalibration.hpp | 2 +- ql/termstructures/volatility/swaption/gaussian1dswaptionvolatility.cpp | 2 +- ql/termstructures/volatility/swaption/gaussian1dswaptionvolatility.hpp | 2 +- .../volatility/swaption/interpolatedswaptionvolatilitycube.cpp | 2 +- .../volatility/swaption/interpolatedswaptionvolatilitycube.hpp | 2 +- ql/termstructures/volatility/swaption/sabrswaptionvolatilitycube.hpp | 2 +- ql/termstructures/volatility/swaption/spreadedswaptionvol.cpp | 2 +- ql/termstructures/volatility/swaption/spreadedswaptionvol.hpp | 2 +- ql/termstructures/volatility/swaption/swaptionconstantvol.cpp | 2 +- ql/termstructures/volatility/swaption/swaptionconstantvol.hpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolcube.cpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolcube.hpp | 2 +- ql/termstructures/volatility/swaption/swaptionvoldiscrete.cpp | 2 +- ql/termstructures/volatility/swaption/swaptionvoldiscrete.hpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolmatrix.cpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolmatrix.hpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolstructure.cpp | 2 +- ql/termstructures/volatility/swaption/swaptionvolstructure.hpp | 2 +- ql/termstructures/volatility/volatilitytype.hpp | 2 +- ql/termstructures/voltermstructure.cpp | 2 +- ql/termstructures/voltermstructure.hpp | 2 +- ql/termstructures/yield/bondhelpers.cpp | 2 +- ql/termstructures/yield/bondhelpers.hpp | 2 +- ql/termstructures/yield/bootstraptraits.hpp | 2 +- ql/termstructures/yield/compositezeroyieldstructure.hpp | 2 +- ql/termstructures/yield/discountcurve.hpp | 2 +- ql/termstructures/yield/fittedbonddiscountcurve.cpp | 2 +- ql/termstructures/yield/fittedbonddiscountcurve.hpp | 2 +- ql/termstructures/yield/flatforward.cpp | 2 +- ql/termstructures/yield/flatforward.hpp | 2 +- ql/termstructures/yield/forwardcurve.hpp | 2 +- ql/termstructures/yield/forwardspreadedtermstructure.hpp | 2 +- ql/termstructures/yield/forwardstructure.cpp | 2 +- ql/termstructures/yield/forwardstructure.hpp | 2 +- ql/termstructures/yield/impliedtermstructure.hpp | 2 +- ql/termstructures/yield/interpolatedsimplezerocurve.hpp | 2 +- ql/termstructures/yield/nonlinearfittingmethods.cpp | 2 +- ql/termstructures/yield/nonlinearfittingmethods.hpp | 2 +- ql/termstructures/yield/oisratehelper.cpp | 2 +- ql/termstructures/yield/oisratehelper.hpp | 2 +- ql/termstructures/yield/overnightindexfutureratehelper.cpp | 2 +- ql/termstructures/yield/overnightindexfutureratehelper.hpp | 2 +- ql/termstructures/yield/piecewiseforwardspreadedtermstructure.hpp | 2 +- ql/termstructures/yield/piecewiseyieldcurve.hpp | 2 +- ql/termstructures/yield/piecewisezerospreadedtermstructure.hpp | 2 +- ql/termstructures/yield/quantotermstructure.hpp | 2 +- ql/termstructures/yield/ratehelpers.cpp | 2 +- ql/termstructures/yield/ratehelpers.hpp | 2 +- ql/termstructures/yield/ultimateforwardtermstructure.hpp | 2 +- ql/termstructures/yield/zerocurve.hpp | 2 +- ql/termstructures/yield/zerospreadedtermstructure.hpp | 2 +- ql/termstructures/yield/zeroyieldstructure.cpp | 2 +- ql/termstructures/yield/zeroyieldstructure.hpp | 2 +- ql/termstructures/yieldtermstructure.cpp | 2 +- ql/termstructures/yieldtermstructure.hpp | 2 +- ql/time/asx.cpp | 2 +- ql/time/asx.hpp | 2 +- ql/time/businessdayconvention.cpp | 2 +- ql/time/businessdayconvention.hpp | 2 +- ql/time/calendar.cpp | 2 +- ql/time/calendar.hpp | 2 +- ql/time/calendars/argentina.cpp | 2 +- ql/time/calendars/argentina.hpp | 2 +- ql/time/calendars/australia.cpp | 2 +- ql/time/calendars/australia.hpp | 2 +- ql/time/calendars/austria.cpp | 2 +- ql/time/calendars/austria.hpp | 2 +- ql/time/calendars/bespokecalendar.cpp | 2 +- ql/time/calendars/bespokecalendar.hpp | 2 +- ql/time/calendars/botswana.cpp | 2 +- ql/time/calendars/botswana.hpp | 2 +- ql/time/calendars/brazil.cpp | 2 +- ql/time/calendars/brazil.hpp | 2 +- ql/time/calendars/canada.cpp | 2 +- ql/time/calendars/canada.hpp | 2 +- ql/time/calendars/chile.cpp | 2 +- ql/time/calendars/chile.hpp | 2 +- ql/time/calendars/china.cpp | 2 +- ql/time/calendars/china.hpp | 2 +- ql/time/calendars/czechrepublic.cpp | 2 +- ql/time/calendars/czechrepublic.hpp | 2 +- ql/time/calendars/denmark.cpp | 2 +- ql/time/calendars/denmark.hpp | 2 +- ql/time/calendars/finland.cpp | 2 +- ql/time/calendars/finland.hpp | 2 +- ql/time/calendars/france.cpp | 2 +- ql/time/calendars/france.hpp | 2 +- ql/time/calendars/germany.cpp | 2 +- ql/time/calendars/germany.hpp | 2 +- ql/time/calendars/hongkong.cpp | 2 +- ql/time/calendars/hongkong.hpp | 2 +- ql/time/calendars/hungary.cpp | 2 +- ql/time/calendars/hungary.hpp | 2 +- ql/time/calendars/iceland.cpp | 2 +- ql/time/calendars/iceland.hpp | 2 +- ql/time/calendars/india.cpp | 2 +- ql/time/calendars/india.hpp | 2 +- ql/time/calendars/indonesia.cpp | 2 +- ql/time/calendars/indonesia.hpp | 2 +- ql/time/calendars/israel.cpp | 2 +- ql/time/calendars/israel.hpp | 2 +- ql/time/calendars/italy.cpp | 2 +- ql/time/calendars/italy.hpp | 2 +- ql/time/calendars/japan.cpp | 2 +- ql/time/calendars/japan.hpp | 2 +- ql/time/calendars/jointcalendar.cpp | 2 +- ql/time/calendars/jointcalendar.hpp | 2 +- ql/time/calendars/mexico.cpp | 2 +- ql/time/calendars/mexico.hpp | 2 +- ql/time/calendars/newzealand.cpp | 2 +- ql/time/calendars/newzealand.hpp | 2 +- ql/time/calendars/norway.cpp | 2 +- ql/time/calendars/norway.hpp | 2 +- ql/time/calendars/nullcalendar.hpp | 2 +- ql/time/calendars/poland.cpp | 2 +- ql/time/calendars/poland.hpp | 2 +- ql/time/calendars/romania.cpp | 2 +- ql/time/calendars/romania.hpp | 2 +- ql/time/calendars/russia.cpp | 2 +- ql/time/calendars/russia.hpp | 2 +- ql/time/calendars/saudiarabia.cpp | 2 +- ql/time/calendars/saudiarabia.hpp | 2 +- ql/time/calendars/singapore.cpp | 2 +- ql/time/calendars/singapore.hpp | 2 +- ql/time/calendars/slovakia.cpp | 2 +- ql/time/calendars/slovakia.hpp | 2 +- ql/time/calendars/southafrica.cpp | 2 +- ql/time/calendars/southafrica.hpp | 2 +- ql/time/calendars/southkorea.cpp | 2 +- ql/time/calendars/southkorea.hpp | 2 +- ql/time/calendars/sweden.cpp | 2 +- ql/time/calendars/sweden.hpp | 2 +- ql/time/calendars/switzerland.cpp | 2 +- ql/time/calendars/switzerland.hpp | 2 +- ql/time/calendars/taiwan.cpp | 2 +- ql/time/calendars/taiwan.hpp | 2 +- ql/time/calendars/target.cpp | 2 +- ql/time/calendars/target.hpp | 2 +- ql/time/calendars/thailand.cpp | 2 +- ql/time/calendars/thailand.hpp | 2 +- ql/time/calendars/turkey.cpp | 2 +- ql/time/calendars/turkey.hpp | 2 +- ql/time/calendars/ukraine.cpp | 2 +- ql/time/calendars/ukraine.hpp | 2 +- ql/time/calendars/unitedkingdom.cpp | 2 +- ql/time/calendars/unitedkingdom.hpp | 2 +- ql/time/calendars/unitedstates.cpp | 2 +- ql/time/calendars/unitedstates.hpp | 2 +- ql/time/calendars/weekendsonly.cpp | 2 +- ql/time/calendars/weekendsonly.hpp | 2 +- ql/time/date.cpp | 2 +- ql/time/date.hpp | 2 +- ql/time/dategenerationrule.cpp | 2 +- ql/time/dategenerationrule.hpp | 2 +- ql/time/daycounter.hpp | 2 +- ql/time/daycounters/actual360.hpp | 2 +- ql/time/daycounters/actual364.hpp | 2 +- ql/time/daycounters/actual36525.hpp | 2 +- ql/time/daycounters/actual365fixed.cpp | 2 +- ql/time/daycounters/actual365fixed.hpp | 2 +- ql/time/daycounters/actual366.hpp | 2 +- ql/time/daycounters/actualactual.cpp | 2 +- ql/time/daycounters/actualactual.hpp | 2 +- ql/time/daycounters/business252.cpp | 2 +- ql/time/daycounters/business252.hpp | 2 +- ql/time/daycounters/one.hpp | 2 +- ql/time/daycounters/simpledaycounter.cpp | 2 +- ql/time/daycounters/simpledaycounter.hpp | 2 +- ql/time/daycounters/thirty360.cpp | 2 +- ql/time/daycounters/thirty360.hpp | 2 +- ql/time/daycounters/thirty365.cpp | 2 +- ql/time/daycounters/thirty365.hpp | 2 +- ql/time/daycounters/yearfractiontodate.cpp | 2 +- ql/time/daycounters/yearfractiontodate.hpp | 2 +- ql/time/ecb.cpp | 2 +- ql/time/ecb.hpp | 2 +- ql/time/frequency.cpp | 2 +- ql/time/frequency.hpp | 2 +- ql/time/imm.cpp | 2 +- ql/time/imm.hpp | 2 +- ql/time/period.cpp | 2 +- ql/time/period.hpp | 2 +- ql/time/schedule.cpp | 2 +- ql/time/schedule.hpp | 2 +- ql/time/timeunit.cpp | 2 +- ql/time/timeunit.hpp | 2 +- ql/time/weekday.cpp | 2 +- ql/time/weekday.hpp | 2 +- ql/timegrid.cpp | 2 +- ql/timegrid.hpp | 2 +- ql/timeseries.hpp | 2 +- ql/tuple.hpp | 2 +- ql/types.hpp | 2 +- ql/userconfig.hpp | 2 +- ql/utilities/clone.hpp | 2 +- ql/utilities/dataformatters.cpp | 2 +- ql/utilities/dataformatters.hpp | 2 +- ql/utilities/dataparsers.cpp | 2 +- ql/utilities/dataparsers.hpp | 2 +- ql/utilities/null.hpp | 2 +- ql/utilities/null_deleter.hpp | 2 +- ql/utilities/observablevalue.hpp | 2 +- ql/utilities/steppingiterator.hpp | 2 +- ql/utilities/tracing.cpp | 2 +- ql/utilities/tracing.hpp | 2 +- ql/utilities/vectors.hpp | 2 +- ql/version.cpp | 2 +- ql/version.hpp | 2 +- ql/volatilitymodel.hpp | 2 +- quantlib.el | 2 +- test-suite/americanoption.cpp | 2 +- test-suite/amortizingbond.cpp | 2 +- test-suite/andreasenhugevolatilityinterpl.cpp | 2 +- test-suite/array.cpp | 2 +- test-suite/asianoptions.cpp | 2 +- test-suite/assetswap.cpp | 2 +- test-suite/autocovariances.cpp | 2 +- test-suite/barrieroption.cpp | 2 +- test-suite/basismodels.cpp | 2 +- test-suite/basisswapratehelpers.cpp | 2 +- test-suite/basketoption.cpp | 2 +- test-suite/batesmodel.cpp | 2 +- test-suite/bermudanswaption.cpp | 2 +- test-suite/binaryoption.cpp | 2 +- test-suite/blackdeltacalculator.cpp | 2 +- test-suite/blackformula.cpp | 2 +- test-suite/bondforward.cpp | 2 +- test-suite/bonds.cpp | 2 +- test-suite/brownianbridge.cpp | 2 +- test-suite/businessdayconventions.cpp | 2 +- test-suite/calendars.cpp | 2 +- test-suite/callablebonds.cpp | 2 +- test-suite/capfloor.cpp | 2 +- test-suite/capflooredcoupon.cpp | 2 +- test-suite/cashflows.cpp | 2 +- test-suite/catbonds.cpp | 2 +- test-suite/cdo.cpp | 2 +- test-suite/cdsoption.cpp | 2 +- test-suite/chooseroption.cpp | 2 +- test-suite/cliquetoption.cpp | 2 +- test-suite/cms.cpp | 2 +- test-suite/cms_normal.cpp | 2 +- test-suite/cmsspread.cpp | 2 +- test-suite/commodityunitofmeasure.cpp | 2 +- test-suite/compiledboostversion.cpp | 2 +- test-suite/compoundoption.cpp | 2 +- test-suite/convertiblebonds.cpp | 2 +- test-suite/covariance.cpp | 2 +- test-suite/creditdefaultswap.cpp | 2 +- test-suite/creditriskplus.cpp | 2 +- test-suite/crosscurrencyratehelpers.cpp | 2 +- test-suite/currency.cpp | 2 +- test-suite/curvestates.cpp | 2 +- test-suite/dates.cpp | 2 +- test-suite/daycounters.cpp | 2 +- test-suite/defaultprobabilitycurves.cpp | 2 +- test-suite/digitalcoupon.cpp | 2 +- test-suite/digitaloption.cpp | 2 +- test-suite/distributions.cpp | 2 +- test-suite/dividendoption.cpp | 2 +- test-suite/doublebarrieroption.cpp | 2 +- test-suite/doublebinaryoption.cpp | 2 +- test-suite/equitycashflow.cpp | 2 +- test-suite/equityindex.cpp | 2 +- test-suite/equitytotalreturnswap.cpp | 2 +- test-suite/europeanoption.cpp | 2 +- test-suite/everestoption.cpp | 2 +- test-suite/exchangerate.cpp | 2 +- test-suite/extendedtrees.cpp | 2 +- test-suite/extensibleoptions.cpp | 2 +- test-suite/fastfouriertransform.cpp | 2 +- test-suite/fdcev.cpp | 2 +- test-suite/fdcir.cpp | 2 +- test-suite/fdheston.cpp | 2 +- test-suite/fdmlinearop.cpp | 2 +- test-suite/fdsabr.cpp | 2 +- test-suite/fittedbonddiscountcurve.cpp | 2 +- test-suite/forwardoption.cpp | 2 +- test-suite/forwardrateagreement.cpp | 2 +- test-suite/functions.cpp | 2 +- test-suite/garch.cpp | 2 +- test-suite/gaussianquadratures.cpp | 2 +- test-suite/gjrgarchmodel.cpp | 2 +- test-suite/gsr.cpp | 2 +- test-suite/hestonmodel.cpp | 2 +- test-suite/hestonslvmodel.cpp | 2 +- test-suite/himalayaoption.cpp | 2 +- test-suite/hybridhestonhullwhiteprocess.cpp | 2 +- test-suite/indexes.cpp | 2 +- test-suite/inflation.cpp | 2 +- test-suite/inflationcapfloor.cpp | 2 +- test-suite/inflationcapflooredcoupon.cpp | 2 +- test-suite/inflationcpibond.cpp | 2 +- test-suite/inflationcpicapfloor.cpp | 2 +- test-suite/inflationcpiswap.cpp | 2 +- test-suite/inflationvolatility.cpp | 2 +- test-suite/instruments.cpp | 2 +- test-suite/integrals.cpp | 2 +- test-suite/interestrates.cpp | 2 +- test-suite/interpolations.cpp | 2 +- test-suite/jumpdiffusion.cpp | 2 +- test-suite/lazyobject.cpp | 2 +- test-suite/libormarketmodel.cpp | 2 +- test-suite/libormarketmodelprocess.cpp | 2 +- test-suite/linearleastsquaresregression.cpp | 2 +- test-suite/lookbackoptions.cpp | 2 +- test-suite/lowdiscrepancysequences.cpp | 2 +- test-suite/margrabeoption.cpp | 2 +- test-suite/marketmodel.cpp | 2 +- test-suite/marketmodel_cms.cpp | 2 +- test-suite/marketmodel_smm.cpp | 2 +- test-suite/marketmodel_smmcapletalphacalibration.cpp | 2 +- test-suite/marketmodel_smmcapletcalibration.cpp | 2 +- test-suite/marketmodel_smmcaplethomocalibration.cpp | 2 +- test-suite/markovfunctional.cpp | 2 +- test-suite/matrices.cpp | 2 +- test-suite/mclongstaffschwartzengine.cpp | 2 +- test-suite/mersennetwister.cpp | 2 +- test-suite/money.cpp | 2 +- test-suite/multipleresetscoupons.cpp | 2 +- test-suite/noarbsabr.cpp | 2 +- test-suite/normalclvmodel.cpp | 2 +- test-suite/nthorderderivativeop.cpp | 2 +- test-suite/nthtodefault.cpp | 2 +- test-suite/numericaldifferentiation.cpp | 2 +- test-suite/observable.cpp | 2 +- test-suite/ode.cpp | 2 +- test-suite/operators.cpp | 2 +- test-suite/optimizers.cpp | 2 +- test-suite/optionletstripper.cpp | 2 +- test-suite/overnightindexedcoupon.cpp | 2 +- test-suite/overnightindexedswap.cpp | 2 +- test-suite/pagodaoption.cpp | 2 +- test-suite/paralleltestrunner.hpp | 2 +- test-suite/partialtimebarrieroption.cpp | 2 +- test-suite/pathgenerator.cpp | 2 +- test-suite/period.cpp | 2 +- test-suite/piecewiseyieldcurve.cpp | 2 +- test-suite/piecewisezerospreadedtermstructure.cpp | 2 +- test-suite/preconditions.cpp | 2 +- test-suite/preconditions.hpp | 2 +- test-suite/prices.cpp | 2 +- test-suite/quantlibbenchmark.cpp | 2 +- test-suite/quantlibglobalfixture.cpp | 2 +- test-suite/quantlibglobalfixture.hpp | 2 +- test-suite/quantlibtestsuite.cpp | 2 +- test-suite/quantooption.cpp | 2 +- test-suite/quotes.cpp | 2 +- test-suite/rangeaccrual.cpp | 2 +- test-suite/riskneutraldensitycalculator.cpp | 2 +- test-suite/riskstats.cpp | 2 +- test-suite/rngtraits.cpp | 2 +- test-suite/rounding.cpp | 2 +- test-suite/schedule.cpp | 2 +- test-suite/settings.cpp | 2 +- test-suite/shortratemodels.cpp | 2 +- test-suite/sofrfutures.cpp | 2 +- test-suite/softbarrieroption.cpp | 2 +- test-suite/solvers.cpp | 2 +- test-suite/spreadoption.cpp | 2 +- test-suite/squarerootclvmodel.cpp | 2 +- test-suite/stats.cpp | 2 +- test-suite/svivolatility.cpp | 2 +- test-suite/swap.cpp | 2 +- test-suite/swapforwardmappings.cpp | 2 +- test-suite/swaption.cpp | 2 +- test-suite/swaptionvolatilitycube.cpp | 2 +- test-suite/swaptionvolatilitymatrix.cpp | 2 +- test-suite/swaptionvolstructuresutilities.hpp | 2 +- test-suite/swingoption.cpp | 2 +- test-suite/termstructures.cpp | 2 +- test-suite/timegrid.cpp | 2 +- test-suite/timeseries.cpp | 2 +- test-suite/toplevelfixture.hpp | 2 +- test-suite/tqreigendecomposition.cpp | 2 +- test-suite/tracing.cpp | 2 +- test-suite/transformedgrid.cpp | 2 +- test-suite/twoassetbarrieroption.cpp | 2 +- test-suite/twoassetcorrelationoption.cpp | 2 +- test-suite/ultimateforwardtermstructure.cpp | 2 +- test-suite/utilities.cpp | 2 +- test-suite/utilities.hpp | 2 +- test-suite/variancegamma.cpp | 2 +- test-suite/varianceoption.cpp | 2 +- test-suite/varianceswaps.cpp | 2 +- test-suite/volatilitymodels.cpp | 2 +- test-suite/vpp.cpp | 2 +- test-suite/xoshiro256starstar.cpp | 2 +- test-suite/zabr.cpp | 2 +- test-suite/zerocouponswap.cpp | 2 +- test-suite/zigguratgaussian.cpp | 2 +- tools/check_all_licenses.sh | 2 +- 2468 files changed, 2468 insertions(+), 2468 deletions(-) commit 5c3a4f8cfbd6ea365c9fcd1c81feee7ef6d8af18 Author: Luigi Ballabio Date: Fri, 29 Aug 2025 11:48:09 +0200 Add action to update license links to https .github/workflows/license-url.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit 9030dee3c3d8f25afd0b2081a64a768efab370ec Merge: 21bc96d9a e7c67f3e3 Author: Luigi Ballabio Date: Thu, 28 Aug 2025 14:44:45 +0200 Issue Fix: Safety checks in Schedule startDate and endDate against segfault (#2304) commit e7c67f3e3d8033e1062a31a741ce959d2573228f Author: davidizzle Date: Thu, 28 Aug 2025 12:23:34 +0200 Centralize safety checks on Schedule existing startDate() and endDate() ql/instruments/bonds/amortizingfloatingratebond.cpp | 6 ------ ql/time/schedule.hpp | 7 ++++++- 2 files changed, 6 insertions(+), 7 deletions(-) commit 5d4adc59ece6e95d0e7303c116465e354dbca596 Author: davidizzle Date: Thu, 28 Aug 2025 11:39:38 +0200 Safety checks in AmortizingFloatingRateBond constructor against segfault ql/instruments/bonds/amortizingfloatingratebond.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit 21bc96d9ad78eb029b1467a73cf76f92764efe7f Merge: a5be471f3 3c1e0e556 Author: Luigi Ballabio Date: Wed, 27 Aug 2025 21:35:15 +0200 Fix consistent test macro usage for AAD compatibility (#2303) commit 3c1e0e55660145a3956a697ce36be92ab2e2225f Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com> Date: Wed, 27 Aug 2025 09:42:06 +0000 Fix make_pair for type compatiblity with non-double types test-suite/piecewiseyieldcurve.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 38824962ba1849024e9cb0f330d9004491f7539d Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com> Date: Wed, 27 Aug 2025 09:39:40 +0000 Use QL_CHECK_CLOSE overload to keep AAD compatibility test-suite/piecewiseyieldcurve.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a5be471f32c146b66843ccd6d5b93ee7ff9c2990 Author: Luigi Ballabio Date: Wed, 27 Aug 2025 10:03:50 +0200 Remove a few obsolete pages from reference. Docs/pages/history.docs | 5060 +---------------------------------------------- Docs/pages/install.docs | 23 - Docs/pages/usage.docs | 52 - Docs/pages/where.docs | 35 - 4 files changed, 2 insertions(+), 5168 deletions(-) commit d91194471c17cabdf957c0c3769c1628b8855230 Author: Paolo D'Elia Date: Wed, 27 Aug 2025 09:52:28 +0200 Small refactor of docstrings ql/experimental/fx/blackdeltacalculator.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 6b18159799b5b291889bb1381612779c3f2e4d67 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 21:43:54 +0000 Bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] .github/workflows/cmake-latest-runners.yml | 2 +- .github/workflows/cmake.yml | 12 ++++++------ .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/copyrights.yml | 2 +- .github/workflows/coveralls.yml | 2 +- .github/workflows/devenv-images.yml | 2 +- .github/workflows/doxygen.yml | 4 ++-- .github/workflows/filelists.yml | 2 +- .github/workflows/generated-headers.yml | 2 +- .github/workflows/headers.yml | 2 +- .github/workflows/includes.yml | 2 +- .github/workflows/linux-full-tests.yml | 2 +- .github/workflows/linux-nondefault.yml | 2 +- .github/workflows/linux.yml | 2 +- .github/workflows/macos-nondefault.yml | 2 +- .github/workflows/macos.yml | 2 +- .github/workflows/misspell.yml | 2 +- .github/workflows/msvc-all-configs.yml | 2 +- .github/workflows/msvc-analysis.yml | 2 +- .github/workflows/msvc-nondefault.yml | 2 +- .github/workflows/msvc.yml | 2 +- .github/workflows/namespaces.yml | 2 +- .github/workflows/sanitizer.yml | 4 ++-- .github/workflows/test-times.yml | 2 +- .github/workflows/tidy.yml | 2 +- 25 files changed, 32 insertions(+), 32 deletions(-) commit a5554052b95e8a55b5def33f0948fa64318cad34 Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Tue, 26 Aug 2025 05:25:52 +0000 Update copyright list in license LICENSE.TXT | 1 + 1 file changed, 1 insertion(+) commit 916fe9b4588ef92fd9ea938143dcd4275284e102 Merge: 3da0b9bfa f39c5aff0 Author: Luigi Ballabio Date: Tue, 26 Aug 2025 07:25:41 +0200 Add BRL-CDI index (#2295) commit 5acbe8c93f6d0ef77af87a1b77f7d76180b6d534 Author: paolodelia99 Date: Mon, 25 Aug 2025 19:24:30 +0200 fix type in doc string ql/experimental/fx/blackdeltacalculator.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bdcd24c85cec9a03cd3e34628eb7e7d6fb6038ba Author: paolodelia99 Date: Mon, 25 Aug 2025 18:28:48 +0200 Add better doc strings ql/experimental/fx/blackdeltacalculator.hpp | 91 ++++++++++++++++++++++++----- 1 file changed, 76 insertions(+), 15 deletions(-) commit f39c5aff0d050ad7287b568f693407b3f4ca9004 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 17:11:32 +0200 added corrections test-suite/indexes.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 01a8052e86c42518122589a5a89c5d991d0cd098 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 14:50:15 +0200 include missing header file test-suite/indexes.cpp | 1 + 1 file changed, 1 insertion(+) commit 21ebe42e5a3754fa1b97848b29c5ff34f1c39bb0 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 14:43:41 +0200 fix obscure compiler error test-suite/indexes.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 289893df01355370ce5ee25510dcaafe094ed954 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 14:35:16 +0200 add unit test test-suite/indexes.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit 3da0b9bfad646ef0903a423257fce6080d44702c Merge: 7a6a9a221 3e7607eac Author: Luigi Ballabio Date: Mon, 25 Aug 2025 13:03:32 +0200 Fix typo in uniform1dmesher (#2298) commit b484eaa5fc481b4c80c4068789ae8080a1ac2c85 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:57:27 +0200 fix ql/indexes/ibor/cdi.cpp | 2 +- ql/indexes/ibor/cdi.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit a6bef4a72b18b2a35a222d480624b312ade209a0 Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:49:45 +0200 rename to Cdi QuantLib.vcxproj | 4 ++-- QuantLib.vcxproj.filters | 6 +++--- ql/CMakeLists.txt | 4 ++-- ql/indexes/ibor/Makefile.am | 4 ++-- ql/indexes/ibor/all.hpp | 2 +- ql/indexes/ibor/{brlcdi.cpp => cdi.cpp} | 2 +- ql/indexes/ibor/{brlcdi.hpp => cdi.hpp} | 7 +++---- 7 files changed, 14 insertions(+), 15 deletions(-) commit 3e7607eac61281443d6665232b1dac37df09f910 Author: Arnaud Baguet Date: Sun, 24 Aug 2025 19:51:05 -0400 typo uniform1dmesher ql/methods/finitedifferences/meshers/uniform1dmesher.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4b27791e036a7e109d37dbaae7081d132569378e Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:26:51 +0200 append Makefile.am ql/indexes/ibor/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit 2bc2d75d61b10066b29834f98e327f54ba7cb04a Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:11:31 +0200 updated cmakelists ql/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) commit eba5d2773ab59a2c10d265767fe44c3fb5ad04bd Author: Sotirios Papathanasopoulos <136467220+sophistis42@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:02:54 +0200 brl_cdi index QuantLib.vcxproj | 2 ++ QuantLib.vcxproj.filters | 6 ++++++ ql/indexes/ibor/all.hpp | 1 + ql/indexes/ibor/brlcdi.cpp | 35 +++++++++++++++++++++++++++++++++++ ql/indexes/ibor/brlcdi.hpp | 40 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 84 insertions(+) commit 7a6a9a221f871bd1aef443a94fe4cb1ac6f44af2 Author: Luigi Ballabio Date: Fri, 15 Aug 2025 00:08:59 +0200 Use Boost 1.89 in CI builds .github/workflows/cmake-latest-runners.yml | 4 ++-- .github/workflows/cmake.yml | 12 ++++++------ .github/workflows/msvc-all-configs.yml | 2 +- .github/workflows/msvc-analysis.yml | 4 ++-- .github/workflows/msvc-nondefault.yml | 2 +- .github/workflows/msvc.yml | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) commit bc86b36070b10ae23e88d32f3d5cb32c33e1febb Merge: de46d9fb1 e604f19d1 Author: Luigi Ballabio Date: Mon, 11 Aug 2025 16:12:56 +0200 Add InterpolatedSpreadDiscountCurve and PiecewiseSpreadYieldCurve (#2292) commit de46d9fb1829d21a411bd3efbd64a8e0c9b1a03d Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Sun, 10 Aug 2025 01:36:21 +0000 Automated fixes by clang-tidy ql/instruments/bonds/cpibond.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9b9376df687e605c9694b4a2c65944b09c70677d Author: Luigi Ballabio Date: Sun, 10 Aug 2025 23:34:35 +0200 Pin test date test-suite/softbarrieroption.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) commit e604f19d1af99572b96439f0b23eef7406193e78 Author: Eugene Toder Date: Sun, 18 May 2025 16:50:47 -0400 Add InterpolatedSpreadDiscountCurve and PiecewiseSpreadYieldCurve These classes allow bootstrapping a curve as a spread to another curve. This is useful, for example, to build related curves when one of them has fewer liquid benchmark instruments. Building as a spread allows the curve with fewer benchmarks to inherit the shape from the curve with more benchmarks. QuantLib.vcxproj | 3 + QuantLib.vcxproj.filters | 9 + ql/CMakeLists.txt | 3 + ql/termstructures/globalbootstrap.hpp | 4 +- ql/termstructures/yield/Makefile.am | 3 + ql/termstructures/yield/all.hpp | 3 + .../yield/piecewisespreadyieldcurve.hpp | 37 ++++ ql/termstructures/yield/piecewiseyieldcurve.hpp | 70 +++---- ql/termstructures/yield/spreadbootstraptraits.hpp | 47 +++++ ql/termstructures/yield/spreaddiscountcurve.hpp | 229 +++++++++++++++++++++ test-suite/piecewiseyieldcurve.cpp | 120 +++++++++++ 11 files changed, 484 insertions(+), 44 deletions(-) commit da67e1a57f56a2dda869321cc567dfe82a4e080a Merge: e2c40014f 4cbe468ff Author: Luigi Ballabio Date: Fri, 8 Aug 2025 22:46:30 +0200 Add `cmake_runners-latest-matrix.yml` workflow (#2249) commit 4cbe468ffd69c0f3f8cb122fa078d0ba5e76735d Author: Luigi Ballabio Date: Fri, 8 Aug 2025 21:46:25 +0200 Rename and disable on push and pull request events .../{cmake_runners-latest-matrix.yml => cmake-latest-runners.yml} | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 2904a5015464de258af2fc33b81cf23da0220cf7 Author: Luigi Ballabio Date: Fri, 8 Aug 2025 17:23:08 +0200 Inlined setup action in workflow .github/actions/setup/action.yml | 90 ----------------------- .github/dependabot.yml | 6 -- .github/workflows/cmake_runners-latest-matrix.yml | 60 +++++++++++++-- 3 files changed, 53 insertions(+), 103 deletions(-) commit e2c40014f492ce4ed7c85038e570a51b53204d7a Merge: a90afe423 75842f2e8 Author: Luigi Ballabio Date: Fri, 8 Aug 2025 09:10:49 +0200 Refactor inflation helpers (#2293) commit 75842f2e8fadf4c6a5b62180ec09f714f1f04bce Author: Eugene Toder Date: Thu, 7 Aug 2025 15:38:57 -0400 Refactor inflation helpers Use RelativeDateBootstrapHelper and a relinkable handle like in the SwapRateHelper. Also, register with indexes to get notifications on fixings. ql/termstructures/inflation/inflationhelpers.cpp | 128 +++++++++++------------ ql/termstructures/inflation/inflationhelpers.hpp | 24 +++-- test-suite/inflation.cpp | 10 ++ 3 files changed, 87 insertions(+), 75 deletions(-) commit a90afe423f3b070a960a84677647f10fcde654dc Merge: 7e734edab 73969f898 Author: Luigi Ballabio Date: Wed, 6 Aug 2025 08:37:42 +0200 Deprecate `growthOnly` parameter in CPI bond and helper (#2287) commit 7e734edab93eaf3f20b5570d60775b8a8695f17c Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:36:04 +0000 Update generated headers ql/instruments/all.hpp | 1 + 1 file changed, 1 insertion(+) commit 2e08477d44cea68abb647a899c4f59f6f8936ebc Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:19:59 +0000 Update copyright list in license LICENSE.TXT | 1 + 1 file changed, 1 insertion(+) commit c708f63dc415a9d808de62fc13f926e170689d8a Author: Luigi Ballabio Date: Tue, 5 Aug 2025 15:54:35 +0200 Use a machine account to open automated PRs .github/workflows/copyrights.yml | 5 +++-- .github/workflows/generated-headers.yml | 5 +++-- .github/workflows/includes.yml | 5 +++-- .github/workflows/misspell.yml | 5 +++-- .github/workflows/namespaces.yml | 5 +++-- .github/workflows/tidy.yml | 5 +++-- 6 files changed, 18 insertions(+), 12 deletions(-) commit a84cc0393b18cf522f8f8147c9db7a697a45f3e6 Merge: 20f2ef12b 4f3e69a47 Author: Luigi Ballabio Date: Tue, 5 Aug 2025 12:23:27 +0200 Allow creating PiecewiseZeroInflationCurve before baseDate is known (#2279) commit 20f2ef12b659a35e97fe6bb19dca72388d207627 Merge: 105660730 98c17d73e Author: Luigi Ballabio Date: Tue, 5 Aug 2025 11:44:30 +0200 Soft barrier implementation (#2271) commit 105660730001f2d152760d1c8627c1554cb8f801 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 16:21:08 +0200 Update Coveralls action version .github/workflows/coveralls.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 4f3e69a47f21ecca8f9821761303d50814343db0 Author: Eugene Toder Date: Wed, 30 Jul 2025 13:12:53 -0400 Allow creating PiecewiseZeroInflationCurve before baseDate is known QuantLib's yield curves can be created before fetching market data, which allows creating complex object graphs ahead of time and setting market data (quotes and fixings) at a later stage. We use this feature extensively in our code. The new API for PiecewiseZeroInflationCurve does not offer the same flexibility, since it requires baseDate to be set at the curve creation time. BaseDate comes from inflation fixings, which means that the fixings have to be fetched before the curve can be created. Add another constructor for PiecewiseZeroInflationCurve, which takes a function that returns the baseDate. This function will be called during the curve's bootstrap, and the result will be cached. This allows one to construct PiecewiseZeroInflationCurve first and fetch the fixings at a later stage. .../inflation/piecewisezeroinflationcurve.hpp | 33 +++++++++ ql/termstructures/inflationtermstructure.hpp | 9 +-- test-suite/inflation.cpp | 81 ++++++++++++++++++++++ 3 files changed, 116 insertions(+), 7 deletions(-) commit 73969f8987a0547583af672c3e43e5b70d4d61b5 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 15:08:29 +0200 Deprecate growthOnly parameter in CPI bond and helper ql/instruments/bonds/cpibond.cpp | 27 +++++++++++++++++++++++++- ql/instruments/bonds/cpibond.hpp | 21 ++++++++++++++++++++ ql/termstructures/yield/bondhelpers.cpp | 34 +++++++++++++++++++++++++++------ ql/termstructures/yield/bondhelpers.hpp | 23 ++++++++++++++++++++++ test-suite/inflationcpibond.cpp | 3 +-- test-suite/inflationcpiswap.cpp | 16 +++++++--------- 6 files changed, 106 insertions(+), 18 deletions(-) commit 5aa353277ec953ae7685949b05d94a1c956e7109 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 14:54:33 +0200 Change bond parameters in test test-suite/inflationcpibond.cpp | 10 +++++----- test-suite/inflationcpiswap.cpp | 6 ++---- 2 files changed, 7 insertions(+), 9 deletions(-) commit e0d7c1c6e0837fdf5b1033766c1eba64f60a6958 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 13:07:08 +0200 Update test message test-suite/CMakeLists.txt | 2 +- test-suite/softbarrieroption.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit cb6dadbaa062aabc60768a4dc1f7f2051c125781 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 11:15:23 +0200 Add new files to VC++ projects QuantLib.vcxproj | 4 ++++ QuantLib.vcxproj.filters | 12 ++++++++++++ test-suite/Makefile.am | 1 + test-suite/testsuite.vcxproj | 1 + test-suite/testsuite.vcxproj.filters | 3 +++ 5 files changed, 21 insertions(+) commit ff0f9b896140a3c3735eee7dc9063cf31c5fcbeb Author: Luigi Ballabio Date: Mon, 4 Aug 2025 10:55:46 +0200 Remove duplicated entry in Makefile.am ql/pricingengines/barrier/Makefile.am | 1 - 1 file changed, 1 deletion(-) commit 38cca0694bf0cd78c0b1a623241206f8aa69f733 Merge: 537c6a3d6 3a31f7a50 Author: Luigi Ballabio Date: Mon, 4 Aug 2025 08:46:42 +0200 Use double for constexpr to maintain AAD compatibility (#2282) commit 537c6a3d682be1af9b0b1ca3caa4d0704e42fc3e Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 3 Aug 2025 01:33:00 +0000 Automated fixes by clang-tidy ql/cashflows/rangeaccrual.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3a31f7a503b8458822a82232ecd7ca1478b99f81 Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com> Date: Sat, 2 Aug 2025 08:40:48 +0100 Use double for constexpr to maintain AAD compatibility ql/math/rounding.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dce5df34d9d04fe41c4aa09ba88bb23f77c05ace Author: wday0507 Date: Fri, 1 Aug 2025 19:36:43 +0100 r and q logic tweak ql/pricingengines/barrier/analyticsoftbarrierengine.cpp | 13 ++++++++----- ql/pricingengines/barrier/analyticsoftbarrierengine.hpp | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) commit ad333f7144491c3191c900c05d855ab104cbb53c Merge: 8c4f8f219 fc505bb15 Author: Luigi Ballabio Date: Thu, 31 Jul 2025 15:34:09 +0200 Don't use `shared_ptr` (#2280) commit fc505bb15b180693572f84b85b7bb75e6cb2180f Author: Luigi Ballabio Date: Thu, 31 Jul 2025 12:43:30 +0200 Don't use shared_ptr ql/cashflows/rangeaccrual.cpp | 27 +++++++++++++-------------- ql/cashflows/rangeaccrual.hpp | 40 +++++++++++++++++++++++++++++++++++----- test-suite/rangeaccrual.cpp | 12 ++++++------ 3 files changed, 54 insertions(+), 25 deletions(-) commit 403e734ed4e980c5bc99251b972850ed5a01b8ee Author: wday0507 Date: Thu, 31 Jul 2025 07:54:03 +0100 removed text from cmakelists file test-suite/CMakeLists.txt | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit bbf5933f301fcdeea638d70df5832f17a815fd09 Author: wday0507 Date: Mon, 28 Jul 2025 18:38:18 +0100 changes as per feedback .gitignore | 1 + ql/CMakeLists.txt | 2 - ql/instruments/Makefile.am | 2 - ql/instruments/all.hpp | 1 - ql/instruments/softbarrieroption.cpp | 20 +-- ql/instruments/softbarrieroption.hpp | 15 +- ql/instruments/softbarriertype.cpp | 42 ------ ql/instruments/softbarriertype.hpp | 49 ------- .../barrier/analyticsoftbarrierengine.cpp | 154 +++++++++++++-------- .../barrier/analyticsoftbarrierengine.hpp | 5 +- test-suite/CMakeLists.txt | 9 ++ test-suite/softbarrieroption.cpp | 144 +++++++++---------- 12 files changed, 187 insertions(+), 257 deletions(-) commit 8c4f8f219447aa00bc8286fe0d5e69b396aee5fc Merge: b9bfd5ec4 277fcf482 Author: Luigi Ballabio Date: Wed, 30 Jul 2025 10:01:45 +0200 Renamed Tona to Tonar (#2277) commit 277fcf482c0c4b78ce7f4d7839a5f664cbd81347 Author: Luigi Ballabio Date: Tue, 29 Jul 2025 16:01:11 +0200 Renamed Tona to Tonar QuantLib.vcxproj | 1 + QuantLib.vcxproj.filters | 3 +++ cmake/GenerateHeaders.cmake | 1 + ql/CMakeLists.txt | 1 + ql/indexes/ibor/Makefile.am | 3 ++- ql/indexes/ibor/all.hpp | 2 +- ql/indexes/ibor/tona.hpp | 27 +++---------------- ql/indexes/ibor/tonar.hpp | 54 +++++++++++++++++++++++++++++++++++++ test-suite/overnightindexedswap.cpp | 4 +-- 9 files changed, 68 insertions(+), 28 deletions(-) commit b9bfd5ec4b5887becd7e7b536295b210e81d883d Merge: b8b211331 8774abd01 Author: Luigi Ballabio Date: Tue, 29 Jul 2025 10:27:20 +0200 Support pillar dates > latestRelevantDate in IterativeBootstrap (#2262) commit b8b2113316fca8082c15a07fcd5d3581ed173895 Merge: 98e4c3a8f 2e334cb81 Author: Luigi Ballabio Date: Tue, 29 Jul 2025 09:40:22 +0200 Replacing std::pow() with test-specific LUT implementation for rounding tests in quantlib benchmarking. (#2270) commit 2e334cb81336a4a789f64d4b19d911d8125610fb Author: Luigi Ballabio Date: Tue, 29 Jul 2025 08:58:42 +0200 Single Doxygen block as usual ql/math/rounding.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a89c92db188584e3aa24703829f131b8048d555e Author: Vladimir Polin Date: Mon, 28 Jul 2025 09:24:53 -0700 supported rounding range added to doxygen, comments refactored ql/math/rounding.cpp | 8 ++++---- ql/math/rounding.hpp | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) commit 98e4c3a8ff619bac30d2d543b478c8555c48e882 Merge: 5cebf11ae cc8f6e078 Author: Luigi Ballabio Date: Mon, 28 Jul 2025 18:15:33 +0200 Refactor LocalBootstrap's PenaltyFunction (#2272) commit 8774abd01ef0a18c36fe9dd8076617c1dc4033eb Author: Eugene Toder Date: Thu, 10 Jul 2025 15:41:54 -0400 Support pillar dates > latestRelevantDate in IterativeBootstrap Also, don't copy data into previousData when not doing convergence loop and when we don't have valid data to copy. ql/termstructures/iterativebootstrap.hpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) commit cc8f6e078adb846507a4236f1034b79b3e783337 Author: Luigi Ballabio Date: Mon, 28 Jul 2025 17:08:56 +0200 Mark deprecation in Doxygen comment, add version ql/termstructures/localbootstrap.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 14837e589d6a222dceb130aec7c07b06add069d8 Author: Eugene Toder Date: Mon, 28 Jul 2025 10:51:22 -0400 Put back PenaltyFunction and deprecate it ql/termstructures/localbootstrap.hpp | 79 ++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) commit 5cebf11aeab7459c957061a882fff3db8e55d55d Merge: 7b1594f78 ba8a7352b Author: Luigi Ballabio Date: Mon, 28 Jul 2025 12:46:16 +0200 Auto-enable extrapolation for ForwardSpreadedTermStructure (#2273) commit 7b1594f7827a5e78e02a225653956672475e9016 Merge: 7cb490eb2 3e31667b0 Author: Luigi Ballabio Date: Mon, 28 Jul 2025 10:48:21 +0200 Expose swap on inflation swap bootstrap helpers (#2275) commit 7cb490eb20e04030045bb5c9f5e48317fcc70b80 Merge: ce589631e 2e0b3ca66 Author: Luigi Ballabio Date: Mon, 28 Jul 2025 10:47:05 +0200 Cleanup includes in interpolated curves (#2274) commit 88a7ee69dd3c6867633c36ebcdd19308a557c8e2 Author: Ignacio Peña <5396413+ipenas-cl@users.noreply.github.com> Date: Sat, 26 Jul 2025 16:49:22 +0000 Fix dangling reference in MultiCubicSpline default parameter Replace temporary std::vector(20, false) with static local variable to eliminate dangling reference when constructor called without third argument. Maintains reference semantics and API compatibility while ensuring thread-safe initialization. Fixes #2183 ql/math/interpolations/multicubicspline.hpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) commit 3e31667b01d0b068bc65832162a2ca4f3b61c3d1 Author: Eugene Toder Date: Fri, 25 Jul 2025 16:16:17 -0400 Expose swap on inflation swap bootstrap helpers ql/termstructures/inflation/inflationhelpers.hpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 2e0b3ca66bdbafb219666f2dbcf8a860e4a8d188 Author: Eugene Toder Date: Sun, 18 May 2025 16:50:47 -0400 Cleanup includes in interpolated curves Include ql/math/comparison.hpp in interpolatedcurve.hpp, where it is actually used, instead of in the files that include interpolatedcurve.hpp. ql/termstructures/inflation/interpolatedyoyinflationcurve.hpp | 1 - ql/termstructures/inflation/interpolatedzeroinflationcurve.hpp | 1 - ql/termstructures/interpolatedcurve.hpp | 1 + ql/termstructures/yield/discountcurve.hpp | 1 - ql/termstructures/yield/forwardcurve.hpp | 1 - ql/termstructures/yield/interpolatedsimplezerocurve.hpp | 2 -- ql/termstructures/yield/zerocurve.hpp | 1 - 7 files changed, 1 insertion(+), 7 deletions(-) commit ba8a7352bd8a8fc5f08edeadabed96daca285235 Author: Eugene Toder Date: Fri, 25 Jul 2025 11:13:44 -0400 Auto-enable extrapolation for ForwardSpreadedTermStructure Based on the original curve for consistency with ZeroSpreadedTermStructure. ql/termstructures/yield/forwardspreadedtermstructure.hpp | 3 +++ 1 file changed, 3 insertions(+) commit 60004b13b690bc38a91fe5de8820c6b99080ff3b Author: Eugene Toder Date: Fri, 25 Jul 2025 11:08:48 -0400 Refactor LocalBootstrap's PenaltyFunction So that it does not pollute global namespace and does not need to be a friend of PiecewiseYieldCurve. ql/termstructures/localbootstrap.hpp | 94 ++++--------------------- ql/termstructures/yield/piecewiseyieldcurve.hpp | 2 - test-suite/piecewiseyieldcurve.cpp | 1 + 3 files changed, 14 insertions(+), 83 deletions(-) commit ce589631e8687fc3d57eae7139823e371c771f70 Merge: 0e8f1c915 934b9c2c7 Author: Luigi Ballabio Date: Fri, 25 Jul 2025 15:52:07 +0200 Remove BootstrapError class (#2263) commit 0e8f1c9155b53f758e9838644360326b2329e2a7 Merge: e33ca6c23 b9c8b6c93 Author: Luigi Ballabio Date: Fri, 25 Jul 2025 14:21:01 +0200 Allow specifying float BusinessDayConvention in SwapRateHelper (#2269) commit da00b8669fe327e106ec6073d7174488f2f5d5c2 Author: Luigi Ballabio Date: Fri, 25 Jul 2025 12:27:24 +0200 Restore and deprecate BootstrapError This reverts commit 49ecdca9a14e9268c5d1fed26b5359405a00b107. QuantLib.vcxproj | 1 + QuantLib.vcxproj.filters | 3 ++ ql/CMakeLists.txt | 1 + ql/termstructures/Makefile.am | 1 + ql/termstructures/all.hpp | 1 + ql/termstructures/bootstraperror.hpp | 79 ++++++++++++++++++++++++++++++++++++ 6 files changed, 86 insertions(+) commit e33ca6c2322809e13d260d59cdf297057814709a Merge: b7e142b96 ded9529b3 Author: Luigi Ballabio Date: Fri, 25 Jul 2025 11:50:44 +0200 Allow specifying BusinessDayConvention in OISRateHelper (#2264) commit dce60798ccfd8cd4e89c0940c66c44c82306eff0 Author: wday0507 Date: Fri, 25 Jul 2025 08:55:34 +0100 Remove extra text from CMakeLists.txt test-suite/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) commit b1b44983baf62119dbb552231d47f1593bbcf111 Author: wday0507 Date: Fri, 25 Jul 2025 08:53:23 +0100 Remove extra text from CMakeLists.txt test-suite/CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit c9bede70cb766c7f3e018d57d5137271c7923605 Author: wday0507 Date: Fri, 25 Jul 2025 08:46:53 +0100 Remove installed files accidentally committed install/include/ql/CMakeLists.txt | 2477 - install/include/ql/Makefile.am | 182 - install/include/ql/any.hpp | 49 - install/include/ql/auto_link.hpp | 64 - install/include/ql/cashflow.cpp | 71 - install/include/ql/cashflow.hpp | 90 - install/include/ql/cashflows/Makefile.am | 111 - install/include/ql/cashflows/all.hpp | 38 - install/include/ql/cashflows/averagebmacoupon.cpp | 254 - install/include/ql/cashflows/averagebmacoupon.hpp | 108 - install/include/ql/cashflows/capflooredcoupon.cpp | 145 - install/include/ql/cashflows/capflooredcoupon.hpp | 169 - .../ql/cashflows/capflooredinflationcoupon.cpp | 152 - .../ql/cashflows/capflooredinflationcoupon.hpp | 166 - install/include/ql/cashflows/cashflows.cpp | 1258 - install/include/ql/cashflows/cashflows.hpp | 454 - install/include/ql/cashflows/cashflowvectors.cpp | 55 - install/include/ql/cashflows/cashflowvectors.hpp | 274 - install/include/ql/cashflows/cmscoupon.cpp | 164 - install/include/ql/cashflows/cmscoupon.hpp | 113 - install/include/ql/cashflows/conundrumpricer.cpp | 987 - install/include/ql/cashflows/conundrumpricer.hpp | 331 - install/include/ql/cashflows/coupon.cpp | 88 - install/include/ql/cashflows/coupon.hpp | 122 - install/include/ql/cashflows/couponpricer.cpp | 480 - install/include/ql/cashflows/couponpricer.hpp | 241 - install/include/ql/cashflows/cpicoupon.cpp | 354 - install/include/ql/cashflows/cpicoupon.hpp | 294 - install/include/ql/cashflows/cpicouponpricer.cpp | 144 - install/include/ql/cashflows/cpicouponpricer.hpp | 97 - install/include/ql/cashflows/digitalcmscoupon.cpp | 205 - install/include/ql/cashflows/digitalcmscoupon.hpp | 112 - install/include/ql/cashflows/digitalcoupon.cpp | 333 - install/include/ql/cashflows/digitalcoupon.hpp | 191 - install/include/ql/cashflows/digitaliborcoupon.cpp | 205 - install/include/ql/cashflows/digitaliborcoupon.hpp | 112 - install/include/ql/cashflows/dividend.cpp | 54 - install/include/ql/cashflows/dividend.hpp | 108 - install/include/ql/cashflows/duration.cpp | 42 - install/include/ql/cashflows/duration.hpp | 45 - install/include/ql/cashflows/equitycashflow.cpp | 135 - install/include/ql/cashflows/equitycashflow.hpp | 107 - install/include/ql/cashflows/fixedratecoupon.cpp | 277 - install/include/ql/cashflows/fixedratecoupon.hpp | 140 - .../include/ql/cashflows/floatingratecoupon.cpp | 105 - .../include/ql/cashflows/floatingratecoupon.hpp | 155 - install/include/ql/cashflows/iborcoupon.cpp | 289 - install/include/ql/cashflows/iborcoupon.hpp | 186 - install/include/ql/cashflows/indexedcashflow.cpp | 53 - install/include/ql/cashflows/indexedcashflow.hpp | 98 - install/include/ql/cashflows/inflationcoupon.cpp | 104 - install/include/ql/cashflows/inflationcoupon.hpp | 132 - .../include/ql/cashflows/inflationcouponpricer.cpp | 213 - .../include/ql/cashflows/inflationcouponpricer.hpp | 209 - install/include/ql/cashflows/lineartsrpricer.cpp | 437 - install/include/ql/cashflows/lineartsrpricer.hpp | 252 - .../include/ql/cashflows/multipleresetscoupon.cpp | 502 - .../include/ql/cashflows/multipleresetscoupon.hpp | 265 - .../ql/cashflows/overnightindexedcoupon.cpp | 340 - .../ql/cashflows/overnightindexedcoupon.hpp | 159 - .../ql/cashflows/overnightindexedcouponpricer.cpp | 280 - .../ql/cashflows/overnightindexedcouponpricer.hpp | 91 - install/include/ql/cashflows/rangeaccrual.cpp | 698 - install/include/ql/cashflows/rangeaccrual.hpp | 234 - install/include/ql/cashflows/rateaveraging.hpp | 52 - install/include/ql/cashflows/replication.cpp | 43 - install/include/ql/cashflows/replication.hpp | 57 - install/include/ql/cashflows/simplecashflow.cpp | 34 - install/include/ql/cashflows/simplecashflow.hpp | 116 - install/include/ql/cashflows/subperiodcoupon.hpp | 29 - install/include/ql/cashflows/timebasket.cpp | 77 - install/include/ql/cashflows/timebasket.hpp | 98 - .../include/ql/cashflows/yoyinflationcoupon.cpp | 260 - .../include/ql/cashflows/yoyinflationcoupon.hpp | 164 - .../include/ql/cashflows/zeroinflationcashflow.cpp | 57 - .../include/ql/cashflows/zeroinflationcashflow.hpp | 82 - install/include/ql/compounding.hpp | 57 - install/include/ql/config.ansi.hpp | 27 - install/include/ql/config.hpp.cfg | 46 - install/include/ql/config.mingw.hpp | 27 - install/include/ql/config.msvc.hpp | 69 - install/include/ql/config.sun.hpp | 44 - install/include/ql/currencies/Makefile.am | 57 - install/include/ql/currencies/africa.cpp | 110 - install/include/ql/currencies/africa.hpp | 187 - install/include/ql/currencies/all.hpp | 11 - install/include/ql/currencies/america.cpp | 165 - install/include/ql/currencies/america.hpp | 223 - install/include/ql/currencies/asia.cpp | 259 - install/include/ql/currencies/asia.hpp | 340 - install/include/ql/currencies/crypto.cpp | 94 - install/include/ql/currencies/crypto.hpp | 123 - install/include/ql/currencies/europe.cpp | 391 - install/include/ql/currencies/europe.hpp | 536 - .../include/ql/currencies/exchangeratemanager.cpp | 203 - .../include/ql/currencies/exchangeratemanager.hpp | 102 - install/include/ql/currencies/oceania.cpp | 47 - install/include/ql/currencies/oceania.hpp | 67 - install/include/ql/currency.cpp | 65 - install/include/ql/currency.hpp | 191 - install/include/ql/default.hpp | 38 - install/include/ql/discretizedasset.cpp | 54 - install/include/ql/discretizedasset.hpp | 248 - install/include/ql/errors.cpp | 102 - install/include/ql/errors.hpp | 142 - install/include/ql/event.cpp | 49 - install/include/ql/event.hpp | 83 - install/include/ql/exchangerate.cpp | 79 - install/include/ql/exchangerate.hpp | 108 - install/include/ql/exercise.cpp | 65 - install/include/ql/exercise.hpp | 104 - install/include/ql/experimental/Makefile.am | 53 - install/include/ql/experimental/all.hpp | 29 - install/include/ql/experimental/asian/Makefile.am | 47 - install/include/ql/experimental/asian/all.hpp | 6 - .../asian/analytic_cont_geom_av_price_heston.cpp | 287 - .../asian/analytic_cont_geom_av_price_heston.hpp | 133 - .../asian/analytic_discr_geom_av_price_heston.cpp | 312 - .../asian/analytic_discr_geom_av_price_heston.hpp | 142 - .../include/ql/experimental/averageois/Makefile.am | 50 - install/include/ql/experimental/averageois/all.hpp | 7 - .../averageois/arithmeticaverageois.cpp | 150 - .../averageois/arithmeticaverageois.hpp | 117 - .../averageois/arithmeticoisratehelper.cpp | 113 - .../averageois/arithmeticoisratehelper.hpp | 91 - .../averageois/averageoiscouponpricer.hpp | 28 - .../averageois/makearithmeticaverageois.cpp | 241 - .../averageois/makearithmeticaverageois.hpp | 105 - .../ql/experimental/barrieroption/Makefile.am | 58 - .../include/ql/experimental/barrieroption/all.hpp | 13 - .../barrieroption/binomialdoublebarrierengine.hpp | 171 - .../discretizeddoublebarrieroption.cpp | 232 - .../discretizeddoublebarrieroption.hpp | 95 - .../barrieroption/mcdoublebarrierengine.cpp | 98 - .../barrieroption/mcdoublebarrierengine.hpp | 295 - .../perturbativebarrieroptionengine.cpp | 1550 - .../perturbativebarrieroptionengine.hpp | 57 - .../barrieroption/quantodoublebarrieroption.cpp | 70 - .../barrieroption/quantodoublebarrieroption.hpp | 64 - .../barrieroption/suowangdoublebarrierengine.cpp | 171 - .../barrieroption/suowangdoublebarrierengine.hpp | 67 - .../barrieroption/vannavolgabarrierengine.cpp | 363 - .../barrieroption/vannavolgabarrierengine.hpp | 68 - .../vannavolgadoublebarrierengine.hpp | 422 - .../barrieroption/vannavolgainterpolation.hpp | 155 - .../ql/experimental/basismodels/Makefile.am | 49 - .../include/ql/experimental/basismodels/all.hpp | 7 - .../ql/experimental/basismodels/swaptioncfs.cpp | 134 - .../ql/experimental/basismodels/swaptioncfs.hpp | 94 - .../experimental/basismodels/tenoroptionletvts.cpp | 110 - .../experimental/basismodels/tenoroptionletvts.hpp | 137 - .../experimental/basismodels/tenorswaptionvts.cpp | 138 - .../experimental/basismodels/tenorswaptionvts.hpp | 129 - .../ql/experimental/callablebonds/Makefile.am | 55 - .../include/ql/experimental/callablebonds/all.hpp | 10 - .../callablebonds/blackcallablebondengine.cpp | 177 - .../callablebonds/blackcallablebondengine.hpp | 93 - .../ql/experimental/callablebonds/callablebond.cpp | 536 - .../ql/experimental/callablebonds/callablebond.hpp | 236 - .../callablebonds/callablebondconstantvol.cpp | 82 - .../callablebonds/callablebondconstantvol.hpp | 98 - .../callablebonds/callablebondvolstructure.cpp | 79 - .../callablebonds/callablebondvolstructure.hpp | 256 - .../discretizedcallablefixedratebond.cpp | 191 - .../discretizedcallablefixedratebond.hpp | 57 - .../callablebonds/treecallablebondengine.cpp | 90 - .../callablebonds/treecallablebondengine.hpp | 82 - .../include/ql/experimental/catbonds/Makefile.am | 51 - install/include/ql/experimental/catbonds/all.hpp | 8 - .../include/ql/experimental/catbonds/catbond.cpp | 168 - .../include/ql/experimental/catbonds/catbond.hpp | 137 - .../include/ql/experimental/catbonds/catrisk.cpp | 135 - .../include/ql/experimental/catbonds/catrisk.hpp | 133 - .../catbonds/montecarlocatbondengine.cpp | 136 - .../catbonds/montecarlocatbondengine.hpp | 66 - .../ql/experimental/catbonds/riskynotional.cpp | 59 - .../ql/experimental/catbonds/riskynotional.hpp | 123 - .../ql/experimental/commodities/Makefile.am | 84 - .../include/ql/experimental/commodities/all.hpp | 26 - .../ql/experimental/commodities/commodity.cpp | 98 - .../ql/experimental/commodities/commodity.hpp | 80 - .../experimental/commodities/commoditycashflow.cpp | 63 - .../experimental/commodities/commoditycashflow.hpp | 96 - .../ql/experimental/commodities/commoditycurve.cpp | 107 - .../ql/experimental/commodities/commoditycurve.hpp | 228 - .../ql/experimental/commodities/commodityindex.cpp | 61 - .../ql/experimental/commodities/commodityindex.hpp | 218 - .../commodities/commoditypricinghelpers.cpp | 65 - .../commodities/commoditypricinghelpers.hpp | 118 - .../experimental/commodities/commoditysettings.cpp | 38 - .../experimental/commodities/commoditysettings.hpp | 51 - .../ql/experimental/commodities/commoditytype.cpp | 48 - .../ql/experimental/commodities/commoditytype.hpp | 118 - .../experimental/commodities/commodityunitcost.cpp | 33 - .../experimental/commodities/commodityunitcost.hpp | 52 - .../ql/experimental/commodities/dateinterval.cpp | 30 - .../ql/experimental/commodities/dateinterval.hpp | 83 - .../experimental/commodities/energybasisswap.cpp | 310 - .../experimental/commodities/energybasisswap.hpp | 74 - .../experimental/commodities/energycommodity.cpp | 172 - .../experimental/commodities/energycommodity.hpp | 138 - .../ql/experimental/commodities/energyfuture.cpp | 119 - .../ql/experimental/commodities/energyfuture.hpp | 58 - .../ql/experimental/commodities/energyswap.cpp | 58 - .../ql/experimental/commodities/energyswap.hpp | 69 - .../experimental/commodities/energyvanillaswap.cpp | 270 - .../experimental/commodities/energyvanillaswap.hpp | 75 - .../experimental/commodities/exchangecontract.hpp | 79 - .../ql/experimental/commodities/paymentterm.cpp | 50 - .../ql/experimental/commodities/paymentterm.hpp | 124 - .../commodities/petroleumunitsofmeasure.hpp | 102 - .../ql/experimental/commodities/pricingperiod.hpp | 54 - .../ql/experimental/commodities/quantity.cpp | 208 - .../ql/experimental/commodities/quantity.hpp | 208 - .../ql/experimental/commodities/unitofmeasure.cpp | 59 - .../ql/experimental/commodities/unitofmeasure.hpp | 150 - .../commodities/unitofmeasureconversion.cpp | 125 - .../commodities/unitofmeasureconversion.hpp | 134 - .../commodities/unitofmeasureconversionmanager.cpp | 209 - .../commodities/unitofmeasureconversionmanager.hpp | 66 - .../include/ql/experimental/coupons/Makefile.am | 57 - install/include/ql/experimental/coupons/all.hpp | 11 - .../ql/experimental/coupons/cmsspreadcoupon.cpp | 145 - .../ql/experimental/coupons/cmsspreadcoupon.hpp | 162 - .../coupons/digitalcmsspreadcoupon.cpp | 204 - .../coupons/digitalcmsspreadcoupon.hpp | 110 - .../coupons/lognormalcmsspreadpricer.cpp | 346 - .../coupons/lognormalcmsspreadpricer.hpp | 126 - .../include/ql/experimental/coupons/proxyibor.cpp | 47 - .../include/ql/experimental/coupons/proxyibor.hpp | 62 - .../ql/experimental/coupons/quantocouponpricer.cpp | 67 - .../ql/experimental/coupons/quantocouponpricer.hpp | 57 - .../coupons/strippedcapflooredcoupon.cpp | 132 - .../coupons/strippedcapflooredcoupon.hpp | 85 - .../ql/experimental/coupons/swapspreadindex.cpp | 85 - .../ql/experimental/coupons/swapspreadindex.hpp | 85 - install/include/ql/experimental/credit/Makefile.am | 114 - install/include/ql/experimental/credit/all.hpp | 48 - .../credit/basecorrelationlossmodel.hpp | 294 - .../credit/basecorrelationstructure.cpp | 49 - .../credit/basecorrelationstructure.hpp | 202 - install/include/ql/experimental/credit/basket.cpp | 377 - install/include/ql/experimental/credit/basket.hpp | 370 - .../ql/experimental/credit/binomiallossmodel.hpp | 419 - .../experimental/credit/blackcdsoptionengine.cpp | 90 - .../experimental/credit/blackcdsoptionengine.hpp | 54 - install/include/ql/experimental/credit/cdo.cpp | 208 - install/include/ql/experimental/credit/cdo.hpp | 186 - .../include/ql/experimental/credit/cdsoption.cpp | 156 - .../include/ql/experimental/credit/cdsoption.hpp | 112 - .../credit/constantlosslatentmodel.hpp | 168 - .../experimental/credit/correlationstructure.cpp | 39 - .../experimental/credit/correlationstructure.hpp | 90 - .../ql/experimental/credit/defaultevent.cpp | 231 - .../ql/experimental/credit/defaultevent.hpp | 246 - .../ql/experimental/credit/defaultlossmodel.hpp | 163 - .../experimental/credit/defaultprobabilitykey.cpp | 97 - .../experimental/credit/defaultprobabilitykey.hpp | 85 - .../credit/defaultprobabilitylatentmodel.hpp | 328 - .../include/ql/experimental/credit/defaulttype.cpp | 41 - .../include/ql/experimental/credit/defaulttype.hpp | 187 - .../ql/experimental/credit/distribution.cpp | 344 - .../ql/experimental/credit/distribution.hpp | 137 - .../credit/factorspreadedhazardratecurve.hpp | 96 - .../experimental/credit/gaussianlhplossmodel.cpp | 205 - .../experimental/credit/gaussianlhplossmodel.hpp | 218 - .../ql/experimental/credit/homogeneouspooldef.hpp | 166 - .../experimental/credit/inhomogeneouspooldef.hpp | 175 - .../ql/experimental/credit/integralcdoengine.cpp | 131 - .../ql/experimental/credit/integralcdoengine.hpp | 52 - .../ql/experimental/credit/integralntdengine.cpp | 186 - .../ql/experimental/credit/integralntdengine.hpp | 44 - .../credit/interpolatedaffinehazardratecurve.hpp | 446 - install/include/ql/experimental/credit/issuer.cpp | 99 - install/include/ql/experimental/credit/issuer.hpp | 103 - install/include/ql/experimental/credit/loss.hpp | 52 - .../ql/experimental/credit/lossdistribution.cpp | 324 - .../ql/experimental/credit/lossdistribution.hpp | 214 - .../ql/experimental/credit/midpointcdoengine.cpp | 128 - .../ql/experimental/credit/midpointcdoengine.hpp | 60 - .../ql/experimental/credit/nthtodefault.cpp | 158 - .../ql/experimental/credit/nthtodefault.hpp | 171 - .../credit/onefactoraffinesurvival.hpp | 176 - .../ql/experimental/credit/onefactorcopula.cpp | 160 - .../ql/experimental/credit/onefactorcopula.hpp | 288 - .../credit/onefactorgaussiancopula.cpp | 66 - .../credit/onefactorgaussiancopula.hpp | 82 - .../experimental/credit/onefactorstudentcopula.cpp | 273 - .../experimental/credit/onefactorstudentcopula.hpp | 198 - install/include/ql/experimental/credit/pool.cpp | 87 - install/include/ql/experimental/credit/pool.hpp | 61 - .../credit/randomdefaultlatentmodel.hpp | 998 - .../ql/experimental/credit/randomdefaultmodel.cpp | 96 - .../ql/experimental/credit/randomdefaultmodel.hpp | 82 - .../experimental/credit/randomlosslatentmodel.hpp | 261 - .../ql/experimental/credit/recoveryratemodel.cpp | 35 - .../ql/experimental/credit/recoveryratemodel.hpp | 87 - .../ql/experimental/credit/recoveryratequote.cpp | 59 - .../ql/experimental/credit/recoveryratequote.hpp | 106 - .../ql/experimental/credit/recursivelossmodel.hpp | 494 - .../ql/experimental/credit/riskyassetswap.cpp | 263 - .../ql/experimental/credit/riskyassetswap.hpp | 132 - .../experimental/credit/riskyassetswapoption.cpp | 56 - .../experimental/credit/riskyassetswapoption.hpp | 51 - .../experimental/credit/saddlepointlossmodel.hpp | 1365 - .../ql/experimental/credit/spotlosslatentmodel.hpp | 379 - .../credit/spreadedhazardratecurve.hpp | 98 - .../ql/experimental/credit/syntheticcdo.cpp | 262 - .../ql/experimental/credit/syntheticcdo.hpp | 233 - .../ql/experimental/exoticoptions/Makefile.am | 85 - .../include/ql/experimental/exoticoptions/all.hpp | 13 - .../analyticholderextensibleoptionengine.hpp | 28 - .../analyticpartialtimebarrieroptionengine.hpp | 28 - .../exoticoptions/analyticpdfhestonengine.hpp | 29 - .../analytictwoassetbarrierengine.hpp | 28 - .../analytictwoassetcorrelationengine.hpp | 28 - .../analyticwriterextensibleoptionengine.hpp | 28 - .../continuousarithmeticasianlevyengine.hpp | 28 - .../continuousarithmeticasianvecerengine.cpp | 241 - .../continuousarithmeticasianvecerengine.hpp | 63 - .../experimental/exoticoptions/everestoption.cpp | 72 - .../experimental/exoticoptions/everestoption.hpp | 72 - .../experimental/exoticoptions/himalayaoption.cpp | 49 - .../experimental/exoticoptions/himalayaoption.hpp | 72 - .../exoticoptions/holderextensibleoption.hpp | 28 - .../exoticoptions/kirkspreadoptionengine.cpp | 108 - .../exoticoptions/kirkspreadoptionengine.hpp | 54 - .../experimental/exoticoptions/mceverestengine.cpp | 47 - .../experimental/exoticoptions/mceverestengine.hpp | 300 - .../exoticoptions/mchimalayaengine.cpp | 65 - .../exoticoptions/mchimalayaengine.hpp | 247 - .../experimental/exoticoptions/mcpagodaengine.cpp | 48 - .../experimental/exoticoptions/mcpagodaengine.hpp | 250 - .../ql/experimental/exoticoptions/pagodaoption.cpp | 57 - .../ql/experimental/exoticoptions/pagodaoption.hpp | 77 - .../exoticoptions/partialtimebarrieroption.hpp | 28 - .../ql/experimental/exoticoptions/spreadoption.hpp | 57 - .../exoticoptions/twoassetbarrieroption.hpp | 29 - .../exoticoptions/twoassetcorrelationoption.hpp | 28 - .../exoticoptions/writerextensibleoption.hpp | 28 - .../ql/experimental/finitedifferences/Makefile.am | 85 - .../ql/experimental/finitedifferences/all.hpp | 28 - .../dynprogvppintrinsicvalueengine.cpp | 112 - .../dynprogvppintrinsicvalueengine.hpp | 55 - .../finitedifferences/fdextoujumpvanillaengine.cpp | 99 - .../finitedifferences/fdextoujumpvanillaengine.hpp | 62 - .../finitedifferences/fdklugeextouspreadengine.cpp | 124 - .../finitedifferences/fdklugeextouspreadengine.hpp | 71 - .../finitedifferences/fdmdupire1dop.cpp | 66 - .../finitedifferences/fdmdupire1dop.hpp | 59 - .../fdmexpextouinnervaluecalculator.hpp | 69 - .../fdmextendedornsteinuhlenbeckop.cpp | 100 - .../fdmextendedornsteinuhlenbeckop.hpp | 74 - .../fdmextoujumpmodelinnervalue.hpp | 67 - .../finitedifferences/fdmextoujumpop.cpp | 162 - .../finitedifferences/fdmextoujumpop.hpp | 83 - .../finitedifferences/fdmextoujumpsolver.cpp | 55 - .../finitedifferences/fdmextoujumpsolver.hpp | 59 - .../finitedifferences/fdmklugeextouop.cpp | 120 - .../finitedifferences/fdmklugeextouop.hpp | 100 - .../finitedifferences/fdmklugeextousolver.hpp | 83 - .../finitedifferences/fdmsimple2dextousolver.hpp | 78 - .../fdmsimple3dextoujumpsolver.hpp | 77 - .../fdmspreadpayoffinnervalue.hpp | 58 - .../fdmvppstartlimitstepcondition.cpp | 99 - .../fdmvppstartlimitstepcondition.hpp | 52 - .../finitedifferences/fdmvppstepcondition.cpp | 112 - .../finitedifferences/fdmvppstepcondition.hpp | 88 - .../fdmvppstepconditionfactory.cpp | 90 - .../fdmvppstepconditionfactory.hpp | 53 - .../experimental/finitedifferences/fdmzabrop.cpp | 117 - .../experimental/finitedifferences/fdmzabrop.hpp | 96 - .../fdornsteinuhlenbeckvanillaengine.cpp | 140 - .../fdornsteinuhlenbeckvanillaengine.hpp | 69 - .../fdsimpleextoujumpswingengine.cpp | 126 - .../fdsimpleextoujumpswingengine.hpp | 66 - .../fdsimpleextoustorageengine.cpp | 178 - .../fdsimpleextoustorageengine.hpp | 63 - .../fdsimpleklugeextouvppengine.cpp | 199 - .../fdsimpleklugeextouvppengine.hpp | 70 - .../finitedifferences/glued1dmesher.cpp | 58 - .../finitedifferences/glued1dmesher.hpp | 41 - .../finitedifferences/vanillavppoption.cpp | 91 - .../finitedifferences/vanillavppoption.hpp | 69 - .../include/ql/experimental/forward/Makefile.am | 45 - install/include/ql/experimental/forward/all.hpp | 5 - .../analytichestonforwardeuropeanengine.cpp | 274 - .../analytichestonforwardeuropeanengine.hpp | 119 - install/include/ql/experimental/fx/Makefile.am | 47 - install/include/ql/experimental/fx/all.hpp | 6 - .../ql/experimental/fx/blackdeltacalculator.cpp | 357 - .../ql/experimental/fx/blackdeltacalculator.hpp | 124 - .../include/ql/experimental/fx/deltavolquote.cpp | 69 - .../include/ql/experimental/fx/deltavolquote.hpp | 83 - .../include/ql/experimental/inflation/Makefile.am | 58 - install/include/ql/experimental/inflation/all.hpp | 15 - .../experimental/inflation/cpicapfloorengines.cpp | 99 - .../experimental/inflation/cpicapfloorengines.hpp | 56 - .../inflation/cpicapfloortermpricesurface.cpp | 145 - .../inflation/cpicapfloortermpricesurface.hpp | 359 - .../ql/experimental/inflation/genericindexes.hpp | 99 - .../inflation/interpolatedyoyoptionletstripper.hpp | 303 - .../kinterpolatedyoyoptionletvolatilitysurface.hpp | 208 - .../inflation/piecewiseyoyoptionletvolatility.hpp | 235 - .../experimental/inflation/polynomial2Dspline.hpp | 107 - .../inflation/yoycapfloortermpricesurface.cpp | 149 - .../inflation/yoycapfloortermpricesurface.hpp | 639 - .../yoyinflationoptionletvolatilitystructure2.hpp | 190 - .../experimental/inflation/yoyoptionlethelpers.cpp | 106 - .../experimental/inflation/yoyoptionlethelpers.hpp | 86 - .../inflation/yoyoptionletstripper.hpp | 65 - .../include/ql/experimental/lattices/Makefile.am | 45 - install/include/ql/experimental/lattices/all.hpp | 5 - .../experimental/lattices/extendedbinomialtree.cpp | 284 - .../experimental/lattices/extendedbinomialtree.hpp | 246 - install/include/ql/experimental/math/Makefile.am | 76 - install/include/ql/experimental/math/all.hpp | 26 - .../ql/experimental/math/claytoncopularng.hpp | 72 - .../ql/experimental/math/convolvedstudentt.cpp | 179 - .../ql/experimental/math/convolvedstudentt.hpp | 183 - .../math/farliegumbelmorgensterncopularng.hpp | 74 - .../ql/experimental/math/fireflyalgorithm.cpp | 246 - .../ql/experimental/math/fireflyalgorithm.hpp | 285 - .../ql/experimental/math/frankcopularng.hpp | 70 - .../ql/experimental/math/gaussiancopulapolicy.cpp | 29 - .../ql/experimental/math/gaussiancopulapolicy.hpp | 126 - .../gaussiannoncentralchisquaredpolynomial.cpp | 106 - .../gaussiannoncentralchisquaredpolynomial.hpp | 47 - .../experimental/math/hybridsimulatedannealing.hpp | 236 - .../math/hybridsimulatedannealingfunctors.hpp | 415 - .../ql/experimental/math/isotropicrandomwalk.hpp | 119 - .../ql/experimental/math/laplaceinterpolation.cpp | 248 - .../ql/experimental/math/laplaceinterpolation.hpp | 77 - .../include/ql/experimental/math/latentmodel.hpp | 802 - .../experimental/math/levyflightdistribution.hpp | 148 - .../ql/experimental/math/moorepenroseinverse.hpp | 61 - .../ql/experimental/math/multidimintegrator.cpp | 34 - .../ql/experimental/math/multidimintegrator.hpp | 166 - .../ql/experimental/math/multidimquadrature.cpp | 40 - .../ql/experimental/math/multidimquadrature.hpp | 252 - .../math/particleswarmoptimization.cpp | 402 - .../math/particleswarmoptimization.hpp | 427 - .../ql/experimental/math/piecewisefunction.hpp | 47 - .../ql/experimental/math/piecewiseintegral.cpp | 40 - .../ql/experimental/math/piecewiseintegral.hpp | 105 - .../ql/experimental/math/polarstudenttrng.hpp | 91 - .../include/ql/experimental/math/tcopulapolicy.cpp | 86 - .../include/ql/experimental/math/tcopulapolicy.hpp | 157 - .../include/ql/experimental/math/zigguratrng.cpp | 241 - .../include/ql/experimental/math/zigguratrng.hpp | 79 - .../include/ql/experimental/mcbasket/Makefile.am | 55 - .../ql/experimental/mcbasket/adaptedpathpayoff.cpp | 96 - .../ql/experimental/mcbasket/adaptedpathpayoff.hpp | 88 - install/include/ql/experimental/mcbasket/all.hpp | 11 - .../mcbasket/longstaffschwartzmultipathpricer.cpp | 309 - .../mcbasket/longstaffschwartzmultipathpricer.hpp | 88 - .../experimental/mcbasket/mcamericanpathengine.hpp | 273 - .../mcbasket/mclongstaffschwartzpathengine.hpp | 194 - .../experimental/mcbasket/mcpathbasketengine.cpp | 68 - .../experimental/mcbasket/mcpathbasketengine.hpp | 343 - .../experimental/mcbasket/pathmultiassetoption.cpp | 57 - .../experimental/mcbasket/pathmultiassetoption.hpp | 82 - .../ql/experimental/mcbasket/pathpayoff.hpp | 94 - install/include/ql/experimental/models/Makefile.am | 47 - install/include/ql/experimental/models/all.hpp | 6 - .../ql/experimental/models/normalclvmodel.cpp | 137 - .../ql/experimental/models/normalclvmodel.hpp | 118 - .../ql/experimental/models/squarerootclvmodel.cpp | 183 - .../ql/experimental/models/squarerootclvmodel.hpp | 96 - .../include/ql/experimental/processes/Makefile.am | 55 - install/include/ql/experimental/processes/all.hpp | 10 - .../processes/extendedblackscholesprocess.cpp | 90 - .../processes/extendedblackscholesprocess.hpp | 59 - .../processes/extendedornsteinuhlenbeckprocess.cpp | 111 - .../processes/extendedornsteinuhlenbeckprocess.hpp | 75 - .../processes/extouwithjumpsprocess.cpp | 101 - .../processes/extouwithjumpsprocess.hpp | 88 - .../processes/gemanroncoroniprocess.cpp | 116 - .../processes/gemanroncoroniprocess.hpp | 81 - .../experimental/processes/klugeextouprocess.cpp | 103 - .../experimental/processes/klugeextouprocess.hpp | 81 - .../processes/vegastressedblackscholesprocess.cpp | 110 - .../processes/vegastressedblackscholesprocess.hpp | 85 - install/include/ql/experimental/risk/Makefile.am | 47 - install/include/ql/experimental/risk/all.hpp | 6 - .../ql/experimental/risk/creditriskplus.cpp | 240 - .../ql/experimental/risk/creditriskplus.hpp | 97 - .../ql/experimental/risk/sensitivityanalysis.cpp | 350 - .../ql/experimental/risk/sensitivityanalysis.hpp | 220 - .../include/ql/experimental/shortrate/Makefile.am | 47 - install/include/ql/experimental/shortrate/all.hpp | 6 - .../shortrate/generalizedhullwhite.cpp | 261 - .../shortrate/generalizedhullwhite.hpp | 387 - .../generalizedornsteinuhlenbeckprocess.cpp | 83 - .../generalizedornsteinuhlenbeckprocess.hpp | 74 - .../include/ql/experimental/swaptions/Makefile.am | 49 - install/include/ql/experimental/swaptions/all.hpp | 7 - .../swaptions/haganirregularswaptionengine.cpp | 362 - .../swaptions/haganirregularswaptionengine.hpp | 99 - .../ql/experimental/swaptions/irregularswap.cpp | 231 - .../ql/experimental/swaptions/irregularswap.hpp | 133 - .../experimental/swaptions/irregularswaption.cpp | 148 - .../experimental/swaptions/irregularswaption.hpp | 98 - .../ql/experimental/termstructures/Makefile.am | 48 - .../include/ql/experimental/termstructures/all.hpp | 6 - .../termstructures/basisswapratehelpers.cpp | 198 - .../termstructures/basisswapratehelpers.hpp | 121 - .../termstructures/crosscurrencyratehelpers.cpp | 366 - .../termstructures/crosscurrencyratehelpers.hpp | 170 - .../ql/experimental/variancegamma/Makefile.am | 55 - .../include/ql/experimental/variancegamma/all.hpp | 10 - .../variancegamma/analyticvariancegammaengine.cpp | 129 - .../variancegamma/analyticvariancegammaengine.hpp | 53 - .../ql/experimental/variancegamma/fftengine.cpp | 181 - .../ql/experimental/variancegamma/fftengine.hpp | 77 - .../variancegamma/fftvanillaengine.cpp | 86 - .../variancegamma/fftvanillaengine.hpp | 62 - .../variancegamma/fftvariancegammaengine.cpp | 84 - .../variancegamma/fftvariancegammaengine.hpp | 64 - .../variancegamma/variancegammamodel.cpp | 51 - .../variancegamma/variancegammamodel.hpp | 64 - .../variancegamma/variancegammaprocess.cpp | 69 - .../variancegamma/variancegammaprocess.hpp | 81 - .../ql/experimental/varianceoption/Makefile.am | 47 - .../include/ql/experimental/varianceoption/all.hpp | 6 - .../integralhestonvarianceoptionengine.cpp | 402 - .../integralhestonvarianceoptionengine.hpp | 50 - .../experimental/varianceoption/varianceoption.cpp | 55 - .../experimental/varianceoption/varianceoption.hpp | 111 - .../include/ql/experimental/volatility/Makefile.am | 81 - .../ql/experimental/volatility/abcdatmvolcurve.cpp | 149 - .../ql/experimental/volatility/abcdatmvolcurve.hpp | 200 - install/include/ql/experimental/volatility/all.hpp | 26 - .../experimental/volatility/blackatmvolcurve.cpp | 84 - .../experimental/volatility/blackatmvolcurve.hpp | 109 - .../ql/experimental/volatility/blackvolsurface.cpp | 59 - .../ql/experimental/volatility/blackvolsurface.hpp | 126 - .../experimental/volatility/equityfxvolsurface.cpp | 84 - .../experimental/volatility/equityfxvolsurface.hpp | 94 - .../volatility/extendedblackvariancecurve.cpp | 83 - .../volatility/extendedblackvariancecurve.hpp | 96 - .../volatility/extendedblackvariancesurface.cpp | 107 - .../volatility/extendedblackvariancesurface.hpp | 91 - .../volatility/interestratevolsurface.cpp | 61 - .../volatility/interestratevolsurface.hpp | 90 - .../ql/experimental/volatility/noarbsabr.cpp | 333 - .../ql/experimental/volatility/noarbsabr.hpp | 154 - .../experimental/volatility/noarbsabrabsprobs.cpp | 10113 --- .../noarbsabrinterpolatedsmilesection.cpp | 131 - .../noarbsabrinterpolatedsmilesection.hpp | 196 - .../volatility/noarbsabrinterpolation.hpp | 288 - .../volatility/noarbsabrsmilesection.cpp | 99 - .../volatility/noarbsabrsmilesection.hpp | 73 - .../volatility/noarbsabrswaptionvolatilitycube.hpp | 45 - .../ql/experimental/volatility/sabrvolsurface.cpp | 180 - .../ql/experimental/volatility/sabrvolsurface.hpp | 148 - .../volatility/sabrvoltermstructure.hpp | 61 - .../volatility/sviinterpolatedsmilesection.cpp | 134 - .../volatility/sviinterpolatedsmilesection.hpp | 201 - .../experimental/volatility/sviinterpolation.hpp | 241 - .../ql/experimental/volatility/svismilesection.cpp | 56 - .../ql/experimental/volatility/svismilesection.hpp | 71 - .../include/ql/experimental/volatility/volcube.cpp | 44 - .../include/ql/experimental/volatility/volcube.hpp | 65 - .../include/ql/experimental/volatility/zabr.cpp | 385 - .../include/ql/experimental/volatility/zabr.hpp | 83 - .../volatility/zabrinterpolatedsmilesection.hpp | 332 - .../experimental/volatility/zabrinterpolation.hpp | 218 - .../experimental/volatility/zabrsmilesection.hpp | 337 - install/include/ql/functional.hpp | 73 - install/include/ql/grid.hpp | 84 - install/include/ql/handle.hpp | 232 - install/include/ql/index.cpp | 57 - install/include/ql/index.hpp | 142 - install/include/ql/indexes/Makefile.am | 65 - install/include/ql/indexes/all.hpp | 15 - install/include/ql/indexes/bmaindex.cpp | 97 - install/include/ql/indexes/bmaindex.hpp | 69 - install/include/ql/indexes/equityindex.cpp | 110 - install/include/ql/indexes/equityindex.hpp | 127 - install/include/ql/indexes/ibor/Makefile.am | 97 - install/include/ql/indexes/ibor/all.hpp | 44 - install/include/ql/indexes/ibor/aonia.hpp | 49 - install/include/ql/indexes/ibor/audlibor.hpp | 51 - install/include/ql/indexes/ibor/bbsw.hpp | 98 - install/include/ql/indexes/ibor/bibor.cpp | 70 - install/include/ql/indexes/ibor/bibor.hpp | 95 - install/include/ql/indexes/ibor/bkbm.hpp | 98 - install/include/ql/indexes/ibor/cadlibor.hpp | 69 - install/include/ql/indexes/ibor/cdor.hpp | 56 - install/include/ql/indexes/ibor/chflibor.hpp | 67 - install/include/ql/indexes/ibor/corra.cpp | 27 - install/include/ql/indexes/ibor/corra.hpp | 33 - install/include/ql/indexes/ibor/custom.cpp | 51 - install/include/ql/indexes/ibor/custom.hpp | 63 - install/include/ql/indexes/ibor/destr.hpp | 43 - install/include/ql/indexes/ibor/dkklibor.hpp | 51 - install/include/ql/indexes/ibor/eonia.cpp | 30 - install/include/ql/indexes/ibor/eonia.hpp | 39 - install/include/ql/indexes/ibor/estr.cpp | 30 - install/include/ql/indexes/ibor/estr.hpp | 39 - install/include/ql/indexes/ibor/euribor.cpp | 83 - install/include/ql/indexes/ibor/euribor.hpp | 328 - install/include/ql/indexes/ibor/eurlibor.cpp | 120 - install/include/ql/indexes/ibor/eurlibor.hpp | 206 - install/include/ql/indexes/ibor/fedfunds.cpp | 33 - install/include/ql/indexes/ibor/fedfunds.hpp | 41 - install/include/ql/indexes/ibor/gbplibor.hpp | 71 - install/include/ql/indexes/ibor/jibar.hpp | 52 - install/include/ql/indexes/ibor/jpylibor.hpp | 69 - install/include/ql/indexes/ibor/kofr.cpp | 31 - install/include/ql/indexes/ibor/kofr.hpp | 44 - install/include/ql/indexes/ibor/libor.cpp | 152 - install/include/ql/indexes/ibor/libor.hpp | 85 - install/include/ql/indexes/ibor/mosprime.hpp | 54 - install/include/ql/indexes/ibor/nzdlibor.hpp | 51 - install/include/ql/indexes/ibor/nzocr.hpp | 49 - install/include/ql/indexes/ibor/pribor.hpp | 56 - install/include/ql/indexes/ibor/robor.hpp | 54 - install/include/ql/indexes/ibor/saron.cpp | 30 - install/include/ql/indexes/ibor/saron.hpp | 39 - install/include/ql/indexes/ibor/seklibor.hpp | 52 - install/include/ql/indexes/ibor/shibor.cpp | 54 - install/include/ql/indexes/ibor/shibor.hpp | 44 - install/include/ql/indexes/ibor/sofr.cpp | 32 - install/include/ql/indexes/ibor/sofr.hpp | 39 - install/include/ql/indexes/ibor/sonia.cpp | 32 - install/include/ql/indexes/ibor/sonia.hpp | 39 - install/include/ql/indexes/ibor/swestr.hpp | 43 - install/include/ql/indexes/ibor/thbfix.hpp | 63 - install/include/ql/indexes/ibor/tibor.hpp | 54 - install/include/ql/indexes/ibor/tona.hpp | 49 - install/include/ql/indexes/ibor/trlibor.hpp | 54 - install/include/ql/indexes/ibor/usdlibor.hpp | 72 - install/include/ql/indexes/ibor/wibor.hpp | 54 - install/include/ql/indexes/ibor/zibor.hpp | 55 - install/include/ql/indexes/iborindex.cpp | 96 - install/include/ql/indexes/iborindex.hpp | 124 - install/include/ql/indexes/indexmanager.cpp | 84 - install/include/ql/indexes/indexmanager.hpp | 157 - install/include/ql/indexes/inflation/Makefile.am | 26 - install/include/ql/indexes/inflation/all.hpp | 11 - install/include/ql/indexes/inflation/aucpi.hpp | 82 - install/include/ql/indexes/inflation/euhicp.hpp | 130 - install/include/ql/indexes/inflation/frhicp.hpp | 77 - install/include/ql/indexes/inflation/ukhicp.hpp | 41 - install/include/ql/indexes/inflation/ukrpi.hpp | 78 - install/include/ql/indexes/inflation/uscpi.hpp | 83 - install/include/ql/indexes/inflation/zacpi.hpp | 79 - install/include/ql/indexes/inflationindex.cpp | 433 - install/include/ql/indexes/inflationindex.hpp | 347 - install/include/ql/indexes/interestrateindex.cpp | 98 - install/include/ql/indexes/interestrateindex.hpp | 117 - install/include/ql/indexes/region.cpp | 63 - install/include/ql/indexes/region.hpp | 131 - install/include/ql/indexes/swap/Makefile.am | 55 - install/include/ql/indexes/swap/all.hpp | 10 - install/include/ql/indexes/swap/chfliborswap.cpp | 61 - install/include/ql/indexes/swap/chfliborswap.hpp | 52 - install/include/ql/indexes/swap/euriborswap.cpp | 126 - install/include/ql/indexes/swap/euriborswap.hpp | 87 - install/include/ql/indexes/swap/eurliborswap.cpp | 125 - install/include/ql/indexes/swap/eurliborswap.hpp | 88 - install/include/ql/indexes/swap/gbpliborswap.cpp | 63 - install/include/ql/indexes/swap/gbpliborswap.hpp | 52 - install/include/ql/indexes/swap/jpyliborswap.cpp | 84 - install/include/ql/indexes/swap/jpyliborswap.hpp | 69 - install/include/ql/indexes/swap/usdliborswap.cpp | 84 - install/include/ql/indexes/swap/usdliborswap.hpp | 69 - install/include/ql/indexes/swapindex.cpp | 219 - install/include/ql/indexes/swapindex.hpp | 155 - install/include/ql/instrument.cpp | 49 - install/include/ql/instrument.hpp | 205 - install/include/ql/instruments/Makefile.am | 194 - install/include/ql/instruments/all.hpp | 77 - install/include/ql/instruments/asianoption.cpp | 170 - install/include/ql/instruments/asianoption.hpp | 136 - install/include/ql/instruments/assetswap.cpp | 362 - install/include/ql/instruments/assetswap.hpp | 145 - install/include/ql/instruments/averagetype.cpp | 40 - install/include/ql/instruments/averagetype.hpp | 43 - install/include/ql/instruments/barrieroption.cpp | 140 - install/include/ql/instruments/barrieroption.hpp | 101 - install/include/ql/instruments/barriertype.cpp | 44 - install/include/ql/instruments/barriertype.hpp | 44 - install/include/ql/instruments/basketoption.cpp | 33 - install/include/ql/instruments/basketoption.hpp | 119 - install/include/ql/instruments/bmaswap.cpp | 144 - install/include/ql/instruments/bmaswap.hpp | 84 - install/include/ql/instruments/bond.cpp | 406 - install/include/ql/instruments/bond.hpp | 344 - install/include/ql/instruments/bondforward.cpp | 100 - install/include/ql/instruments/bondforward.hpp | 122 - install/include/ql/instruments/bonds/Makefile.am | 63 - install/include/ql/instruments/bonds/all.hpp | 14 - .../ql/instruments/bonds/amortizingcmsratebond.cpp | 65 - .../ql/instruments/bonds/amortizingcmsratebond.hpp | 56 - .../instruments/bonds/amortizingfixedratebond.cpp | 152 - .../instruments/bonds/amortizingfixedratebond.hpp | 72 - .../bonds/amortizingfloatingratebond.cpp | 75 - .../bonds/amortizingfloatingratebond.hpp | 60 - install/include/ql/instruments/bonds/btp.cpp | 248 - install/include/ql/instruments/bonds/btp.hpp | 293 - .../include/ql/instruments/bonds/cmsratebond.cpp | 68 - .../include/ql/instruments/bonds/cmsratebond.hpp | 61 - .../ql/instruments/bonds/convertiblebonds.cpp | 222 - .../ql/instruments/bonds/convertiblebonds.hpp | 173 - install/include/ql/instruments/bonds/cpibond.cpp | 88 - install/include/ql/instruments/bonds/cpibond.hpp | 89 - .../include/ql/instruments/bonds/fixedratebond.cpp | 71 - .../include/ql/instruments/bonds/fixedratebond.hpp | 75 - .../ql/instruments/bonds/floatingratebond.cpp | 73 - .../ql/instruments/bonds/floatingratebond.hpp | 66 - .../ql/instruments/bonds/zerocouponbond.cpp | 41 - .../ql/instruments/bonds/zerocouponbond.hpp | 51 - .../include/ql/instruments/callabilityschedule.hpp | 77 - install/include/ql/instruments/capfloor.cpp | 342 - install/include/ql/instruments/capfloor.hpp | 164 - install/include/ql/instruments/claim.cpp | 47 - install/include/ql/instruments/claim.hpp | 62 - install/include/ql/instruments/cliquetoption.cpp | 68 - install/include/ql/instruments/cliquetoption.hpp | 85 - .../ql/instruments/complexchooseroption.cpp | 61 - .../ql/instruments/complexchooseroption.hpp | 73 - .../include/ql/instruments/compositeinstrument.cpp | 68 - .../include/ql/instruments/compositeinstrument.hpp | 72 - install/include/ql/instruments/compoundoption.cpp | 52 - install/include/ql/instruments/compoundoption.hpp | 66 - install/include/ql/instruments/cpicapfloor.cpp | 118 - install/include/ql/instruments/cpicapfloor.hpp | 140 - install/include/ql/instruments/cpiswap.cpp | 219 - install/include/ql/instruments/cpiswap.hpp | 225 - .../include/ql/instruments/creditdefaultswap.cpp | 508 - .../include/ql/instruments/creditdefaultswap.hpp | 366 - .../ql/instruments/dividendbarrieroption.hpp | 29 - .../include/ql/instruments/dividendschedule.hpp | 37 - .../ql/instruments/dividendvanillaoption.hpp | 28 - .../include/ql/instruments/doublebarrieroption.cpp | 114 - .../include/ql/instruments/doublebarrieroption.hpp | 90 - .../include/ql/instruments/doublebarriertype.cpp | 42 - .../include/ql/instruments/doublebarriertype.hpp | 47 - .../ql/instruments/equitytotalreturnswap.cpp | 195 - .../ql/instruments/equitytotalreturnswap.hpp | 132 - install/include/ql/instruments/europeanoption.cpp | 31 - install/include/ql/instruments/europeanoption.hpp | 43 - .../ql/instruments/fixedratebondforward.hpp | 28 - .../include/ql/instruments/fixedvsfloatingswap.cpp | 246 - .../include/ql/instruments/fixedvsfloatingswap.hpp | 231 - install/include/ql/instruments/floatfloatswap.cpp | 584 - install/include/ql/instruments/floatfloatswap.hpp | 252 - .../include/ql/instruments/floatfloatswaption.cpp | 87 - .../include/ql/instruments/floatfloatswaption.hpp | 94 - install/include/ql/instruments/forward.cpp | 94 - install/include/ql/instruments/forward.hpp | 210 - .../ql/instruments/forwardrateagreement.cpp | 119 - .../ql/instruments/forwardrateagreement.hpp | 157 - .../ql/instruments/forwardvanillaoption.cpp | 58 - .../ql/instruments/forwardvanillaoption.hpp | 86 - install/include/ql/instruments/futures.cpp | 40 - install/include/ql/instruments/futures.hpp | 50 - .../ql/instruments/holderextensibleoption.cpp | 55 - .../ql/instruments/holderextensibleoption.hpp | 77 - .../include/ql/instruments/impliedvolatility.cpp | 107 - .../include/ql/instruments/impliedvolatility.hpp | 64 - .../include/ql/instruments/inflationcapfloor.cpp | 220 - .../include/ql/instruments/inflationcapfloor.hpp | 174 - install/include/ql/instruments/lookbackoption.cpp | 148 - install/include/ql/instruments/lookbackoption.hpp | 192 - install/include/ql/instruments/makecapfloor.cpp | 156 - install/include/ql/instruments/makecapfloor.hpp | 78 - install/include/ql/instruments/makecds.cpp | 141 - install/include/ql/instruments/makecds.hpp | 76 - install/include/ql/instruments/makecms.cpp | 306 - install/include/ql/instruments/makecms.hpp | 120 - install/include/ql/instruments/makeois.cpp | 368 - install/include/ql/instruments/makeois.hpp | 138 - install/include/ql/instruments/makeswaption.cpp | 194 - install/include/ql/instruments/makeswaption.hpp | 91 - install/include/ql/instruments/makevanillaswap.cpp | 366 - install/include/ql/instruments/makevanillaswap.hpp | 119 - .../ql/instruments/makeyoyinflationcapfloor.cpp | 160 - .../ql/instruments/makeyoyinflationcapfloor.hpp | 95 - install/include/ql/instruments/margrabeoption.cpp | 85 - install/include/ql/instruments/margrabeoption.hpp | 90 - .../include/ql/instruments/multiassetoption.cpp | 100 - .../include/ql/instruments/multiassetoption.hpp | 81 - install/include/ql/instruments/nonstandardswap.cpp | 377 - install/include/ql/instruments/nonstandardswap.hpp | 229 - .../include/ql/instruments/nonstandardswaption.cpp | 100 - .../include/ql/instruments/nonstandardswaption.hpp | 98 - install/include/ql/instruments/oneassetoption.cpp | 150 - install/include/ql/instruments/oneassetoption.hpp | 88 - .../ql/instruments/overnightindexedswap.cpp | 196 - .../ql/instruments/overnightindexedswap.hpp | 146 - .../ql/instruments/overnightindexfuture.cpp | 147 - .../ql/instruments/overnightindexfuture.hpp | 66 - .../ql/instruments/partialtimebarrieroption.cpp | 66 - .../ql/instruments/partialtimebarrieroption.hpp | 107 - install/include/ql/instruments/payoffs.cpp | 226 - install/include/ql/instruments/payoffs.hpp | 259 - .../include/ql/instruments/quantobarrieroption.cpp | 69 - .../include/ql/instruments/quantobarrieroption.hpp | 63 - .../ql/instruments/quantoforwardvanillaoption.cpp | 69 - .../ql/instruments/quantoforwardvanillaoption.hpp | 61 - .../include/ql/instruments/quantovanillaoption.cpp | 67 - .../include/ql/instruments/quantovanillaoption.hpp | 73 - .../include/ql/instruments/simplechooseroption.cpp | 47 - .../include/ql/instruments/simplechooseroption.hpp | 64 - .../ql/instruments/simplifynotificationgraph.cpp | 45 - .../ql/instruments/simplifynotificationgraph.hpp | 66 - .../include/ql/instruments/softbarrieroption.cpp | 104 - .../include/ql/instruments/softbarrieroption.hpp | 80 - install/include/ql/instruments/softbarriertype.cpp | 42 - install/include/ql/instruments/softbarriertype.hpp | 49 - install/include/ql/instruments/stickyratchet.cpp | 89 - install/include/ql/instruments/stickyratchet.hpp | 231 - install/include/ql/instruments/stock.cpp | 33 - install/include/ql/instruments/stock.hpp | 49 - install/include/ql/instruments/swap.cpp | 196 - install/include/ql/instruments/swap.hpp | 165 - install/include/ql/instruments/swaption.cpp | 222 - install/include/ql/instruments/swaption.hpp | 156 - .../ql/instruments/twoassetbarrieroption.cpp | 79 - .../ql/instruments/twoassetbarrieroption.hpp | 80 - .../ql/instruments/twoassetcorrelationoption.cpp | 43 - .../ql/instruments/twoassetcorrelationoption.hpp | 74 - install/include/ql/instruments/vanillaoption.cpp | 95 - install/include/ql/instruments/vanillaoption.hpp | 85 - .../ql/instruments/vanillastorageoption.hpp | 94 - install/include/ql/instruments/vanillaswap.cpp | 82 - install/include/ql/instruments/vanillaswap.hpp | 85 - .../include/ql/instruments/vanillaswingoption.cpp | 148 - .../include/ql/instruments/vanillaswingoption.hpp | 92 - install/include/ql/instruments/varianceswap.cpp | 76 - install/include/ql/instruments/varianceswap.hpp | 135 - .../ql/instruments/writerextensibleoption.cpp | 56 - .../ql/instruments/writerextensibleoption.hpp | 73 - .../ql/instruments/yearonyearinflationswap.cpp | 248 - .../ql/instruments/yearonyearinflationswap.hpp | 219 - .../ql/instruments/zerocouponinflationswap.cpp | 167 - .../ql/instruments/zerocouponinflationswap.hpp | 158 - install/include/ql/instruments/zerocouponswap.cpp | 172 - install/include/ql/instruments/zerocouponswap.hpp | 138 - install/include/ql/interestrate.cpp | 168 - install/include/ql/interestrate.hpp | 194 - install/include/ql/legacy/Makefile.am | 24 - install/include/ql/legacy/all.hpp | 4 - .../ql/legacy/libormarketmodels/Makefile.am | 71 - .../include/ql/legacy/libormarketmodels/all.hpp | 19 - .../ql/legacy/libormarketmodels/lfmcovarparam.cpp | 77 - .../ql/legacy/libormarketmodels/lfmcovarparam.hpp | 64 - .../ql/legacy/libormarketmodels/lfmcovarproxy.cpp | 137 - .../ql/legacy/libormarketmodels/lfmcovarproxy.hpp | 61 - .../legacy/libormarketmodels/lfmhullwhiteparam.cpp | 144 - .../legacy/libormarketmodels/lfmhullwhiteparam.hpp | 63 - .../ql/legacy/libormarketmodels/lfmprocess.cpp | 229 - .../ql/legacy/libormarketmodels/lfmprocess.hpp | 112 - .../legacy/libormarketmodels/lfmswaptionengine.cpp | 72 - .../legacy/libormarketmodels/lfmswaptionengine.hpp | 50 - .../legacy/libormarketmodels/liborforwardmodel.cpp | 211 - .../legacy/libormarketmodels/liborforwardmodel.hpp | 89 - .../libormarketmodels/lmconstwrappercorrmodel.hpp | 63 - .../libormarketmodels/lmconstwrappervolmodel.hpp | 64 - .../ql/legacy/libormarketmodels/lmcorrmodel.cpp | 64 - .../ql/legacy/libormarketmodels/lmcorrmodel.hpp | 63 - .../ql/legacy/libormarketmodels/lmexpcorrmodel.cpp | 69 - .../ql/legacy/libormarketmodels/lmexpcorrmodel.hpp | 65 - .../libormarketmodels/lmextlinexpvolmodel.cpp | 59 - .../libormarketmodels/lmextlinexpvolmodel.hpp | 62 - .../legacy/libormarketmodels/lmfixedvolmodel.cpp | 71 - .../legacy/libormarketmodels/lmfixedvolmodel.hpp | 49 - .../legacy/libormarketmodels/lmlinexpcorrmodel.cpp | 76 - .../legacy/libormarketmodels/lmlinexpcorrmodel.hpp | 69 - .../legacy/libormarketmodels/lmlinexpvolmodel.cpp | 96 - .../legacy/libormarketmodels/lmlinexpvolmodel.hpp | 65 - .../ql/legacy/libormarketmodels/lmvolmodel.cpp | 55 - .../ql/legacy/libormarketmodels/lmvolmodel.hpp | 59 - install/include/ql/math/Makefile.am | 101 - install/include/ql/math/abcdmathfunction.cpp | 135 - install/include/ql/math/abcdmathfunction.hpp | 127 - install/include/ql/math/all.hpp | 41 - install/include/ql/math/array.hpp | 910 - install/include/ql/math/autocovariance.hpp | 191 - install/include/ql/math/bernsteinpolynomial.cpp | 37 - install/include/ql/math/bernsteinpolynomial.hpp | 54 - install/include/ql/math/beta.cpp | 94 - install/include/ql/math/beta.hpp | 59 - install/include/ql/math/bspline.cpp | 60 - install/include/ql/math/bspline.hpp | 79 - install/include/ql/math/comparison.hpp | 145 - install/include/ql/math/copulas/Makefile.am | 68 - .../ql/math/copulas/alimikhailhaqcopula.cpp | 41 - .../ql/math/copulas/alimikhailhaqcopula.hpp | 44 - install/include/ql/math/copulas/all.hpp | 17 - install/include/ql/math/copulas/claytoncopula.cpp | 47 - install/include/ql/math/copulas/claytoncopula.hpp | 43 - .../math/copulas/farliegumbelmorgensterncopula.cpp | 40 - .../math/copulas/farliegumbelmorgensterncopula.hpp | 43 - install/include/ql/math/copulas/frankcopula.cpp | 41 - install/include/ql/math/copulas/frankcopula.hpp | 43 - install/include/ql/math/copulas/galamboscopula.cpp | 42 - install/include/ql/math/copulas/galamboscopula.hpp | 44 - install/include/ql/math/copulas/gaussiancopula.cpp | 40 - install/include/ql/math/copulas/gaussiancopula.hpp | 45 - install/include/ql/math/copulas/gumbelcopula.cpp | 41 - install/include/ql/math/copulas/gumbelcopula.hpp | 43 - .../include/ql/math/copulas/huslerreisscopula.cpp | 43 - .../include/ql/math/copulas/huslerreisscopula.hpp | 45 - .../include/ql/math/copulas/independentcopula.cpp | 34 - .../include/ql/math/copulas/independentcopula.hpp | 40 - .../ql/math/copulas/marshallolkincopula.cpp | 44 - .../ql/math/copulas/marshallolkincopula.hpp | 43 - install/include/ql/math/copulas/maxcopula.cpp | 35 - install/include/ql/math/copulas/maxcopula.hpp | 40 - install/include/ql/math/copulas/mincopula.cpp | 35 - install/include/ql/math/copulas/mincopula.hpp | 40 - install/include/ql/math/copulas/plackettcopula.cpp | 44 - install/include/ql/math/copulas/plackettcopula.hpp | 44 - install/include/ql/math/distributions/Makefile.am | 57 - install/include/ql/math/distributions/all.hpp | 12 - .../ql/math/distributions/binomialdistribution.hpp | 151 - .../distributions/bivariatenormaldistribution.cpp | 259 - .../distributions/bivariatenormaldistribution.hpp | 109 - .../bivariatestudenttdistribution.cpp | 172 - .../bivariatestudenttdistribution.hpp | 55 - .../math/distributions/chisquaredistribution.cpp | 133 - .../math/distributions/chisquaredistribution.hpp | 76 - .../ql/math/distributions/gammadistribution.cpp | 99 - .../ql/math/distributions/gammadistribution.hpp | 67 - .../ql/math/distributions/normaldistribution.cpp | 188 - .../ql/math/distributions/normaldistribution.hpp | 322 - .../ql/math/distributions/poissondistribution.hpp | 139 - .../ql/math/distributions/studenttdistribution.cpp | 66 - .../ql/math/distributions/studenttdistribution.hpp | 96 - install/include/ql/math/errorfunction.cpp | 246 - install/include/ql/math/errorfunction.hpp | 56 - install/include/ql/math/expm1.cpp | 54 - install/include/ql/math/expm1.hpp | 35 - install/include/ql/math/factorial.cpp | 66 - install/include/ql/math/factorial.hpp | 46 - install/include/ql/math/fastfouriertransform.hpp | 125 - install/include/ql/math/functional.hpp | 42 - .../include/ql/math/generallinearleastsquares.hpp | 151 - install/include/ql/math/incompletegamma.cpp | 103 - install/include/ql/math/incompletegamma.hpp | 57 - install/include/ql/math/integrals/Makefile.am | 67 - install/include/ql/math/integrals/all.hpp | 20 - .../ql/math/integrals/discreteintegrals.cpp | 113 - .../ql/math/integrals/discreteintegrals.hpp | 65 - .../ql/math/integrals/exponentialintegrals.cpp | 249 - .../ql/math/integrals/exponentialintegrals.hpp | 52 - .../include/ql/math/integrals/expsinhintegral.hpp | 108 - .../include/ql/math/integrals/filonintegral.cpp | 87 - .../include/ql/math/integrals/filonintegral.hpp | 61 - .../integrals/gaussianorthogonalpolynomial.cpp | 183 - .../integrals/gaussianorthogonalpolynomial.hpp | 140 - .../ql/math/integrals/gaussianquadratures.cpp | 220 - .../ql/math/integrals/gaussianquadratures.hpp | 312 - .../integrals/gausslaguerrecosinepolynomial.hpp | 144 - .../ql/math/integrals/gausslobattointegral.cpp | 155 - .../ql/math/integrals/gausslobattointegral.hpp | 72 - install/include/ql/math/integrals/integral.cpp | 88 - install/include/ql/math/integrals/integral.hpp | 75 - .../include/ql/math/integrals/kronrodintegral.cpp | 449 - .../include/ql/math/integrals/kronrodintegral.hpp | 100 - .../integrals/momentbasedgaussianpolynomial.hpp | 172 - .../include/ql/math/integrals/segmentintegral.cpp | 29 - .../include/ql/math/integrals/segmentintegral.hpp | 79 - .../include/ql/math/integrals/simpsonintegral.hpp | 72 - .../include/ql/math/integrals/tanhsinhintegral.hpp | 94 - .../ql/math/integrals/trapezoidintegral.hpp | 121 - .../ql/math/integrals/twodimensionalintegral.hpp | 62 - install/include/ql/math/interpolation.hpp | 161 - install/include/ql/math/interpolations/Makefile.am | 64 - .../ql/math/interpolations/abcdinterpolation.hpp | 248 - install/include/ql/math/interpolations/all.hpp | 25 - .../interpolations/backwardflatinterpolation.hpp | 116 - .../backwardflatlinearinterpolation.hpp | 104 - .../interpolations/bicubicsplineinterpolation.hpp | 211 - .../math/interpolations/bilinearinterpolation.hpp | 100 - .../math/interpolations/chebyshevinterpolation.cpp | 83 - .../math/interpolations/chebyshevinterpolation.hpp | 62 - .../interpolations/convexmonotoneinterpolation.hpp | 854 - .../ql/math/interpolations/cubicinterpolation.hpp | 809 - .../ql/math/interpolations/extrapolation.hpp | 55 - .../ql/math/interpolations/flatextrapolation2d.hpp | 96 - .../interpolations/forwardflatinterpolation.hpp | 109 - .../ql/math/interpolations/interpolation2d.hpp | 195 - .../ql/math/interpolations/kernelinterpolation.hpp | 173 - .../math/interpolations/kernelinterpolation2d.hpp | 215 - .../math/interpolations/lagrangeinterpolation.hpp | 161 - .../ql/math/interpolations/linearinterpolation.hpp | 112 - .../ql/math/interpolations/loginterpolation.hpp | 400 - .../ql/math/interpolations/mixedinterpolation.hpp | 291 - .../ql/math/interpolations/multicubicspline.hpp | 568 - .../ql/math/interpolations/sabrinterpolation.hpp | 248 - .../ql/math/interpolations/xabrinterpolation.hpp | 326 - install/include/ql/math/kernelfunctions.hpp | 69 - .../ql/math/linearleastsquaresregression.hpp | 117 - install/include/ql/math/matrix.cpp | 103 - install/include/ql/math/matrix.hpp | 750 - .../include/ql/math/matrixutilities/Makefile.am | 74 - install/include/ql/math/matrixutilities/all.hpp | 20 - .../matrixutilities/basisincompleteordered.cpp | 228 - .../matrixutilities/basisincompleteordered.hpp | 88 - .../include/ql/math/matrixutilities/bicgstab.cpp | 94 - .../include/ql/math/matrixutilities/bicgstab.hpp | 54 - .../math/matrixutilities/choleskydecomposition.cpp | 86 - .../math/matrixutilities/choleskydecomposition.hpp | 38 - install/include/ql/math/matrixutilities/expm.cpp | 70 - install/include/ql/math/matrixutilities/expm.hpp | 44 - .../ql/math/matrixutilities/factorreduction.cpp | 104 - .../ql/math/matrixutilities/factorreduction.hpp | 48 - .../ql/math/matrixutilities/getcovariance.cpp | 50 - .../ql/math/matrixutilities/getcovariance.hpp | 115 - install/include/ql/math/matrixutilities/gmres.cpp | 147 - install/include/ql/math/matrixutilities/gmres.hpp | 74 - .../ql/math/matrixutilities/householder.cpp | 78 - .../ql/math/matrixutilities/householder.hpp | 59 - .../include/ql/math/matrixutilities/pseudosqrt.cpp | 537 - .../include/ql/math/matrixutilities/pseudosqrt.hpp | 87 - .../ql/math/matrixutilities/qrdecomposition.cpp | 160 - .../ql/math/matrixutilities/qrdecomposition.hpp | 78 - .../matrixutilities/sparseilupreconditioner.cpp | 190 - .../matrixutilities/sparseilupreconditioner.hpp | 55 - .../ql/math/matrixutilities/sparsematrix.hpp | 73 - install/include/ql/math/matrixutilities/svd.cpp | 539 - install/include/ql/math/matrixutilities/svd.hpp | 79 - .../symmetricschurdecomposition.cpp | 140 - .../symmetricschurdecomposition.hpp | 82 - .../ql/math/matrixutilities/tapcorrelations.cpp | 145 - .../ql/math/matrixutilities/tapcorrelations.hpp | 106 - .../math/matrixutilities/tqreigendecomposition.cpp | 149 - .../math/matrixutilities/tqreigendecomposition.hpp | 75 - install/include/ql/math/modifiedbessel.cpp | 158 - install/include/ql/math/modifiedbessel.hpp | 56 - install/include/ql/math/ode/Makefile.am | 20 - install/include/ql/math/ode/adaptiverungekutta.hpp | 252 - install/include/ql/math/ode/all.hpp | 5 - install/include/ql/math/optimization/Makefile.am | 82 - install/include/ql/math/optimization/all.hpp | 26 - install/include/ql/math/optimization/armijo.cpp | 87 - install/include/ql/math/optimization/armijo.hpp | 67 - install/include/ql/math/optimization/bfgs.cpp | 89 - install/include/ql/math/optimization/bfgs.hpp | 55 - .../ql/math/optimization/conjugategradient.cpp | 37 - .../ql/math/optimization/conjugategradient.hpp | 61 - .../include/ql/math/optimization/constraint.cpp | 44 - .../include/ql/math/optimization/constraint.hpp | 208 - .../include/ql/math/optimization/costfunction.hpp | 117 - .../ql/math/optimization/differentialevolution.cpp | 397 - .../ql/math/optimization/differentialevolution.hpp | 207 - .../include/ql/math/optimization/endcriteria.cpp | 190 - .../include/ql/math/optimization/endcriteria.hpp | 114 - install/include/ql/math/optimization/goldstein.cpp | 93 - install/include/ql/math/optimization/goldstein.hpp | 52 - .../include/ql/math/optimization/leastsquare.cpp | 118 - .../include/ql/math/optimization/leastsquare.hpp | 153 - .../ql/math/optimization/levenbergmarquardt.cpp | 169 - .../ql/math/optimization/levenbergmarquardt.hpp | 90 - .../include/ql/math/optimization/linesearch.cpp | 47 - .../include/ql/math/optimization/linesearch.hpp | 81 - .../ql/math/optimization/linesearchbasedmethod.cpp | 116 - .../ql/math/optimization/linesearchbasedmethod.hpp | 56 - install/include/ql/math/optimization/lmdif.cpp | 1672 - install/include/ql/math/optimization/lmdif.hpp | 59 - install/include/ql/math/optimization/method.hpp | 47 - install/include/ql/math/optimization/problem.hpp | 146 - .../ql/math/optimization/projectedconstraint.hpp | 76 - .../ql/math/optimization/projectedcostfunction.cpp | 47 - .../ql/math/optimization/projectedcostfunction.hpp | 61 - .../include/ql/math/optimization/projection.cpp | 79 - .../include/ql/math/optimization/projection.hpp | 57 - install/include/ql/math/optimization/simplex.cpp | 193 - install/include/ql/math/optimization/simplex.hpp | 76 - .../ql/math/optimization/simulatedannealing.hpp | 276 - .../ql/math/optimization/spherecylinder.cpp | 201 - .../ql/math/optimization/spherecylinder.hpp | 80 - .../ql/math/optimization/steepestdescent.cpp | 33 - .../ql/math/optimization/steepestdescent.hpp | 51 - install/include/ql/math/pascaltriangle.cpp | 54 - install/include/ql/math/pascaltriangle.hpp | 46 - install/include/ql/math/polynomialmathfunction.cpp | 109 - install/include/ql/math/polynomialmathfunction.hpp | 80 - install/include/ql/math/primenumbers.cpp | 75 - install/include/ql/math/primenumbers.hpp | 57 - install/include/ql/math/quadratic.cpp | 56 - install/include/ql/math/quadratic.hpp | 48 - install/include/ql/math/randomnumbers/Makefile.am | 80 - install/include/ql/math/randomnumbers/all.hpp | 27 - .../ql/math/randomnumbers/boxmullergaussianrng.hpp | 94 - .../ql/math/randomnumbers/burley2020sobolrsg.cpp | 153 - .../ql/math/randomnumbers/burley2020sobolrsg.hpp | 64 - .../math/randomnumbers/centrallimitgaussianrng.hpp | 74 - install/include/ql/math/randomnumbers/faurersg.cpp | 135 - install/include/ql/math/randomnumbers/faurersg.hpp | 84 - .../include/ql/math/randomnumbers/haltonrsg.cpp | 75 - .../include/ql/math/randomnumbers/haltonrsg.hpp | 65 - .../ql/math/randomnumbers/inversecumulativerng.hpp | 80 - .../ql/math/randomnumbers/inversecumulativersg.hpp | 98 - .../ql/math/randomnumbers/knuthuniformrng.cpp | 91 - .../ql/math/randomnumbers/knuthuniformrng.hpp | 86 - .../include/ql/math/randomnumbers/latticersg.cpp | 50 - .../include/ql/math/randomnumbers/latticersg.hpp | 55 - .../include/ql/math/randomnumbers/latticerules.cpp | 14495 ---- .../include/ql/math/randomnumbers/latticerules.hpp | 47 - .../ql/math/randomnumbers/lecuyeruniformrng.cpp | 86 - .../ql/math/randomnumbers/lecuyeruniformrng.hpp | 69 - .../ql/math/randomnumbers/mt19937uniformrng.cpp | 145 - .../ql/math/randomnumbers/mt19937uniformrng.hpp | 84 - .../ql/math/randomnumbers/primitivepolynomials.cpp | 21376 ----- .../ql/math/randomnumbers/primitivepolynomials.hpp | 269 - .../ql/math/randomnumbers/randomizedlds.hpp | 137 - .../math/randomnumbers/randomsequencegenerator.hpp | 97 - .../ql/math/randomnumbers/ranluxuniformrng.hpp | 68 - .../include/ql/math/randomnumbers/rngtraits.hpp | 110 - .../ql/math/randomnumbers/seedgenerator.cpp | 63 - .../ql/math/randomnumbers/seedgenerator.hpp | 51 - .../math/randomnumbers/sobolbrownianbridgersg.cpp | 89 - .../math/randomnumbers/sobolbrownianbridgersg.hpp | 74 - install/include/ql/math/randomnumbers/sobolrsg.cpp | 78850 ------------------- install/include/ql/math/randomnumbers/sobolrsg.hpp | 155 - .../randomnumbers/stochasticcollocationinvcdf.cpp | 64 - .../randomnumbers/stochasticcollocationinvcdf.hpp | 61 - .../randomnumbers/xoshiro256starstaruniformrng.cpp | 68 - .../randomnumbers/xoshiro256starstaruniformrng.hpp | 100 - .../ql/math/randomnumbers/zigguratgaussianrng.hpp | 277 - .../include/ql/math/richardsonextrapolation.cpp | 92 - .../include/ql/math/richardsonextrapolation.hpp | 73 - install/include/ql/math/rounding.cpp | 69 - install/include/ql/math/rounding.hpp | 132 - install/include/ql/math/sampledcurve.hpp | 28 - install/include/ql/math/solver1d.hpp | 265 - install/include/ql/math/solvers1d/Makefile.am | 28 - install/include/ql/math/solvers1d/all.hpp | 13 - install/include/ql/math/solvers1d/bisection.hpp | 80 - install/include/ql/math/solvers1d/brent.hpp | 142 - .../include/ql/math/solvers1d/falseposition.hpp | 90 - .../math/solvers1d/finitedifferencenewtonsafe.hpp | 107 - install/include/ql/math/solvers1d/halley.hpp | 75 - install/include/ql/math/solvers1d/newton.hpp | 86 - install/include/ql/math/solvers1d/newtonsafe.hpp | 114 - install/include/ql/math/solvers1d/ridder.hpp | 120 - install/include/ql/math/solvers1d/secant.hpp | 81 - install/include/ql/math/statistics/Makefile.am | 56 - install/include/ql/math/statistics/all.hpp | 13 - .../ql/math/statistics/convergencestatistics.hpp | 132 - .../ql/math/statistics/discrepancystatistics.cpp | 56 - .../ql/math/statistics/discrepancystatistics.hpp | 125 - .../ql/math/statistics/gaussianstatistics.hpp | 241 - .../ql/math/statistics/generalstatistics.cpp | 136 - .../ql/math/statistics/generalstatistics.hpp | 257 - install/include/ql/math/statistics/histogram.cpp | 180 - install/include/ql/math/statistics/histogram.hpp | 93 - .../ql/math/statistics/incrementalstatistics.cpp | 139 - .../ql/math/statistics/incrementalstatistics.hpp | 176 - .../include/ql/math/statistics/riskstatistics.hpp | 229 - .../ql/math/statistics/sequencestatistics.hpp | 300 - install/include/ql/math/statistics/statistics.hpp | 40 - install/include/ql/math/transformedgrid.hpp | 116 - install/include/ql/mathconstants.hpp | 130 - install/include/ql/methods/Makefile.am | 26 - install/include/ql/methods/all.hpp | 6 - .../ql/methods/finitedifferences/Makefile.am | 77 - .../include/ql/methods/finitedifferences/all.hpp | 28 - .../finitedifferences/boundarycondition.cpp | 120 - .../finitedifferences/boundarycondition.hpp | 116 - .../ql/methods/finitedifferences/bsmoperator.cpp | 56 - .../ql/methods/finitedifferences/bsmoperator.hpp | 47 - .../methods/finitedifferences/bsmtermoperator.hpp | 27 - .../ql/methods/finitedifferences/cranknicolson.hpp | 84 - .../ql/methods/finitedifferences/dminus.hpp | 58 - .../include/ql/methods/finitedifferences/dplus.hpp | 58 - .../ql/methods/finitedifferences/dplusdminus.hpp | 61 - .../include/ql/methods/finitedifferences/dzero.hpp | 61 - .../ql/methods/finitedifferences/expliciteuler.hpp | 84 - .../ql/methods/finitedifferences/fdtypedefs.hpp | 31 - .../finitedifferences/finitedifferencemodel.hpp | 153 - .../ql/methods/finitedifferences/impliciteuler.hpp | 79 - .../methods/finitedifferences/meshers/Makefile.am | 65 - .../ql/methods/finitedifferences/meshers/all.hpp | 17 - .../meshers/concentrating1dmesher.cpp | 221 - .../meshers/concentrating1dmesher.hpp | 55 - .../meshers/exponentialjump1dmesher.cpp | 98 - .../meshers/exponentialjump1dmesher.hpp | 65 - .../finitedifferences/meshers/fdm1dmesher.hpp | 52 - .../meshers/fdmblackscholesmesher.cpp | 150 - .../meshers/fdmblackscholesmesher.hpp | 62 - .../meshers/fdmblackscholesmultistrikemesher.cpp | 93 - .../meshers/fdmblackscholesmultistrikemesher.hpp | 49 - .../finitedifferences/meshers/fdmcev1dmesher.cpp | 74 - .../finitedifferences/meshers/fdmcev1dmesher.hpp | 45 - .../meshers/fdmhestonvariancemesher.cpp | 213 - .../meshers/fdmhestonvariancemesher.hpp | 67 - .../finitedifferences/meshers/fdmmesher.hpp | 60 - .../meshers/fdmmeshercomposite.cpp | 116 - .../meshers/fdmmeshercomposite.hpp | 70 - .../meshers/fdmsimpleprocess1dmesher.cpp | 71 - .../meshers/fdmsimpleprocess1dmesher.hpp | 46 - .../meshers/predefined1dmesher.hpp | 48 - .../finitedifferences/meshers/uniform1dmesher.hpp | 54 - .../meshers/uniformgridmesher.cpp | 57 - .../meshers/uniformgridmesher.hpp | 60 - .../ql/methods/finitedifferences/mixedscheme.hpp | 136 - .../finitedifferences/operators/Makefile.am | 95 - .../ql/methods/finitedifferences/operators/all.hpp | 32 - .../operators/fdm2dblackscholesop.cpp | 158 - .../operators/fdm2dblackscholesop.hpp | 72 - .../finitedifferences/operators/fdmbatesop.cpp | 126 - .../finitedifferences/operators/fdmbatesop.hpp | 118 - .../operators/fdmblackscholesfwdop.cpp | 119 - .../operators/fdmblackscholesfwdop.hpp | 71 - .../operators/fdmblackscholesop.cpp | 137 - .../operators/fdmblackscholesop.hpp | 76 - .../finitedifferences/operators/fdmcevop.cpp | 87 - .../finitedifferences/operators/fdmcevop.hpp | 70 - .../finitedifferences/operators/fdmcirop.cpp | 175 - .../finitedifferences/operators/fdmcirop.hpp | 123 - .../finitedifferences/operators/fdmg2op.cpp | 118 - .../finitedifferences/operators/fdmg2op.hpp | 67 - .../finitedifferences/operators/fdmhestonfwdop.cpp | 230 - .../finitedifferences/operators/fdmhestonfwdop.hpp | 87 - .../operators/fdmhestonhullwhiteop.cpp | 153 - .../operators/fdmhestonhullwhiteop.hpp | 94 - .../finitedifferences/operators/fdmhestonop.cpp | 196 - .../finitedifferences/operators/fdmhestonop.hpp | 115 - .../finitedifferences/operators/fdmhullwhiteop.cpp | 93 - .../finitedifferences/operators/fdmhullwhiteop.hpp | 65 - .../finitedifferences/operators/fdmlinearop.hpp | 44 - .../operators/fdmlinearopcomposite.hpp | 61 - .../operators/fdmlinearopiterator.hpp | 91 - .../operators/fdmlinearoplayout.cpp | 87 - .../operators/fdmlinearoplayout.hpp | 88 - .../operators/fdmlocalvolfwdop.cpp | 92 - .../operators/fdmlocalvolfwdop.hpp | 68 - .../operators/fdmornsteinuhlenbeckop.cpp | 100 - .../operators/fdmornsteinuhlenbeckop.hpp | 68 - .../finitedifferences/operators/fdmsabrop.cpp | 107 - .../finitedifferences/operators/fdmsabrop.hpp | 77 - .../operators/fdmsquarerootfwdop.cpp | 327 - .../operators/fdmsquarerootfwdop.hpp | 95 - .../finitedifferences/operators/fdmwienerop.cpp | 94 - .../finitedifferences/operators/fdmwienerop.hpp | 60 - .../operators/firstderivativeop.cpp | 61 - .../operators/firstderivativeop.hpp | 41 - .../operators/modtriplebandlinearop.hpp | 50 - .../operators/ninepointlinearop.cpp | 190 - .../operators/ninepointlinearop.hpp | 86 - .../operators/nthorderderivativeop.cpp | 89 - .../operators/nthorderderivativeop.hpp | 46 - .../operators/numericaldifferentiation.cpp | 120 - .../operators/numericaldifferentiation.hpp | 86 - .../operators/secondderivativeop.cpp | 53 - .../operators/secondderivativeop.hpp | 40 - .../operators/secondordermixedderivativeop.cpp | 112 - .../operators/secondordermixedderivativeop.hpp | 40 - .../operators/triplebandlinearop.cpp | 301 - .../operators/triplebandlinearop.hpp | 95 - .../methods/finitedifferences/operatortraits.hpp | 46 - .../methods/finitedifferences/parallelevolver.hpp | 39 - .../include/ql/methods/finitedifferences/pde.hpp | 129 - .../ql/methods/finitedifferences/pdebsm.hpp | 61 - .../methods/finitedifferences/schemes/Makefile.am | 61 - .../ql/methods/finitedifferences/schemes/all.hpp | 14 - .../schemes/boundaryconditionschemehelper.hpp | 68 - .../finitedifferences/schemes/craigsneydscheme.cpp | 66 - .../finitedifferences/schemes/craigsneydscheme.hpp | 62 - .../schemes/cranknicolsonscheme.cpp | 56 - .../schemes/cranknicolsonscheme.hpp | 67 - .../finitedifferences/schemes/douglasscheme.cpp | 52 - .../finitedifferences/schemes/douglasscheme.hpp | 60 - .../schemes/expliciteulerscheme.cpp | 47 - .../schemes/expliciteulerscheme.hpp | 61 - .../schemes/hundsdorferscheme.cpp | 66 - .../schemes/hundsdorferscheme.hpp | 66 - .../schemes/impliciteulerscheme.cpp | 89 - .../schemes/impliciteulerscheme.hpp | 72 - .../schemes/methodoflinesscheme.cpp | 62 - .../schemes/methodoflinesscheme.hpp | 62 - .../schemes/modifiedcraigsneydscheme.cpp | 64 - .../schemes/modifiedcraigsneydscheme.hpp | 67 - .../finitedifferences/schemes/trbdf2scheme.hpp | 152 - .../methods/finitedifferences/solvers/Makefile.am | 71 - .../ql/methods/finitedifferences/solvers/all.hpp | 19 - .../finitedifferences/solvers/fdm1dimsolver.cpp | 97 - .../finitedifferences/solvers/fdm1dimsolver.hpp | 67 - .../solvers/fdm2dblackscholessolver.cpp | 120 - .../solvers/fdm2dblackscholessolver.hpp | 71 - .../finitedifferences/solvers/fdm2dimsolver.cpp | 123 - .../finitedifferences/solvers/fdm2dimsolver.hpp | 70 - .../finitedifferences/solvers/fdm3dimsolver.cpp | 125 - .../finitedifferences/solvers/fdm3dimsolver.hpp | 62 - .../solvers/fdmbackwardsolver.cpp | 200 - .../solvers/fdmbackwardsolver.hpp | 82 - .../finitedifferences/solvers/fdmbatessolver.cpp | 76 - .../finitedifferences/solvers/fdmbatessolver.hpp | 70 - .../solvers/fdmblackscholessolver.cpp | 76 - .../solvers/fdmblackscholessolver.hpp | 71 - .../finitedifferences/solvers/fdmcirsolver.cpp | 72 - .../finitedifferences/solvers/fdmcirsolver.hpp | 71 - .../finitedifferences/solvers/fdmg2solver.cpp | 52 - .../finitedifferences/solvers/fdmg2solver.hpp | 56 - .../solvers/fdmhestonhullwhitesolver.cpp | 75 - .../solvers/fdmhestonhullwhitesolver.hpp | 73 - .../finitedifferences/solvers/fdmhestonsolver.cpp | 93 - .../finitedifferences/solvers/fdmhestonsolver.hpp | 81 - .../solvers/fdmhullwhitesolver.cpp | 51 - .../solvers/fdmhullwhitesolver.hpp | 56 - .../finitedifferences/solvers/fdmndimsolver.hpp | 169 - .../solvers/fdmsimple2dbssolver.cpp | 65 - .../solvers/fdmsimple2dbssolver.hpp | 62 - .../finitedifferences/solvers/fdmsolverdesc.hpp | 46 - .../ql/methods/finitedifferences/stepcondition.hpp | 53 - .../finitedifferences/stepconditions/Makefile.am | 57 - .../finitedifferences/stepconditions/all.hpp | 11 - .../stepconditions/fdmamericanstepcondition.cpp | 43 - .../stepconditions/fdmamericanstepcondition.hpp | 47 - .../fdmarithmeticaveragecondition.cpp | 90 - .../fdmarithmeticaveragecondition.hpp | 52 - .../stepconditions/fdmbermudanstepcondition.cpp | 66 - .../stepconditions/fdmbermudanstepcondition.hpp | 53 - .../stepconditions/fdmsimplestoragecondition.cpp | 104 - .../stepconditions/fdmsimplestoragecondition.hpp | 52 - .../stepconditions/fdmsimpleswingcondition.cpp | 71 - .../stepconditions/fdmsimpleswingcondition.hpp | 51 - .../stepconditions/fdmsnapshotcondition.cpp | 46 - .../stepconditions/fdmsnapshotcondition.hpp | 46 - .../stepconditions/fdmstepconditioncomposite.cpp | 134 - .../stepconditions/fdmstepconditioncomposite.hpp | 71 - .../ql/methods/finitedifferences/trbdf2.hpp | 172 - .../finitedifferences/tridiagonaloperator.cpp | 162 - .../finitedifferences/tridiagonaloperator.hpp | 259 - .../finitedifferences/utilities/Makefile.am | 86 - .../ql/methods/finitedifferences/utilities/all.hpp | 26 - .../utilities/bsmrndcalculator.cpp | 62 - .../utilities/bsmrndcalculator.hpp | 51 - .../utilities/cevrndcalculator.cpp | 131 - .../utilities/cevrndcalculator.hpp | 62 - .../utilities/escroweddividendadjustment.cpp | 61 - .../utilities/escroweddividendadjustment.hpp | 55 - .../utilities/fdmaffinemodelswapinnervalue.cpp | 48 - .../utilities/fdmaffinemodelswapinnervalue.hpp | 148 - .../utilities/fdmaffinemodeltermstructure.cpp | 52 - .../utilities/fdmaffinemodeltermstructure.hpp | 54 - .../utilities/fdmboundaryconditionset.hpp | 36 - .../utilities/fdmdirichletboundary.cpp | 72 - .../utilities/fdmdirichletboundary.hpp | 65 - .../utilities/fdmdiscountdirichletboundary.cpp | 80 - .../utilities/fdmdiscountdirichletboundary.hpp | 59 - .../utilities/fdmdividendhandler.cpp | 107 - .../utilities/fdmdividendhandler.hpp | 61 - .../fdmescrowedloginnervaluecalculator.cpp | 51 - .../fdmescrowedloginnervaluecalculator.hpp | 54 - .../utilities/fdmhestongreensfct.cpp | 112 - .../utilities/fdmhestongreensfct.hpp | 51 - .../utilities/fdmindicesonboundary.cpp | 55 - .../utilities/fdmindicesonboundary.hpp | 46 - .../utilities/fdminnervaluecalculator.cpp | 136 - .../utilities/fdminnervaluecalculator.hpp | 100 - .../utilities/fdmmesherintegral.cpp | 60 - .../utilities/fdmmesherintegral.hpp | 45 - .../utilities/fdmquantohelper.cpp | 65 - .../utilities/fdmquantohelper.hpp | 54 - .../utilities/fdmshoutloginnervaluecalculator.cpp | 79 - .../utilities/fdmshoutloginnervaluecalculator.hpp | 59 - .../utilities/fdmtimedepdirichletboundary.cpp | 72 - .../utilities/fdmtimedepdirichletboundary.hpp | 69 - .../utilities/gbsmrndcalculator.cpp | 102 - .../utilities/gbsmrndcalculator.hpp | 47 - .../utilities/hestonrndcalculator.cpp | 164 - .../utilities/hestonrndcalculator.hpp | 66 - .../utilities/localvolrndcalculator.cpp | 356 - .../utilities/localvolrndcalculator.hpp | 101 - .../utilities/riskneutraldensitycalculator.cpp | 43 - .../utilities/riskneutraldensitycalculator.hpp | 57 - .../utilities/squarerootprocessrndcalculator.cpp | 88 - .../utilities/squarerootprocessrndcalculator.hpp | 49 - .../ql/methods/finitedifferences/zerocondition.hpp | 46 - install/include/ql/methods/lattices/Makefile.am | 53 - install/include/ql/methods/lattices/all.hpp | 12 - .../include/ql/methods/lattices/binomialtree.cpp | 158 - .../include/ql/methods/lattices/binomialtree.hpp | 212 - install/include/ql/methods/lattices/bsmlattice.hpp | 92 - install/include/ql/methods/lattices/lattice.hpp | 184 - install/include/ql/methods/lattices/lattice1d.hpp | 58 - install/include/ql/methods/lattices/lattice2d.hpp | 136 - install/include/ql/methods/lattices/tflattice.hpp | 168 - install/include/ql/methods/lattices/tree.hpp | 62 - .../include/ql/methods/lattices/trinomialtree.cpp | 78 - .../include/ql/methods/lattices/trinomialtree.hpp | 148 - install/include/ql/methods/montecarlo/Makefile.am | 63 - install/include/ql/methods/montecarlo/all.hpp | 20 - .../ql/methods/montecarlo/brownianbridge.cpp | 113 - .../ql/methods/montecarlo/brownianbridge.hpp | 149 - .../methods/montecarlo/earlyexercisepathpricer.hpp | 80 - .../ql/methods/montecarlo/exercisestrategy.hpp | 45 - .../ql/methods/montecarlo/genericlsregression.cpp | 111 - .../ql/methods/montecarlo/genericlsregression.hpp | 46 - .../montecarlo/longstaffschwartzpathpricer.hpp | 217 - .../ql/methods/montecarlo/lsmbasissystem.cpp | 184 - .../ql/methods/montecarlo/lsmbasissystem.hpp | 54 - install/include/ql/methods/montecarlo/mctraits.hpp | 62 - .../ql/methods/montecarlo/montecarlomodel.hpp | 136 - .../include/ql/methods/montecarlo/multipath.hpp | 73 - .../ql/methods/montecarlo/multipathgenerator.hpp | 155 - install/include/ql/methods/montecarlo/nodedata.hpp | 41 - .../ql/methods/montecarlo/parametricexercise.cpp | 136 - .../ql/methods/montecarlo/parametricexercise.hpp | 64 - install/include/ql/methods/montecarlo/path.hpp | 165 - .../ql/methods/montecarlo/pathgenerator.hpp | 159 - .../include/ql/methods/montecarlo/pathpricer.hpp | 51 - install/include/ql/methods/montecarlo/sample.hpp | 46 - install/include/ql/models/Makefile.am | 56 - install/include/ql/models/all.hpp | 11 - install/include/ql/models/calibrationhelper.cpp | 87 - install/include/ql/models/calibrationhelper.hpp | 112 - install/include/ql/models/equity/Makefile.am | 57 - install/include/ql/models/equity/all.hpp | 11 - install/include/ql/models/equity/batesmodel.cpp | 87 - install/include/ql/models/equity/batesmodel.hpp | 95 - install/include/ql/models/equity/gjrgarchmodel.cpp | 78 - install/include/ql/models/equity/gjrgarchmodel.hpp | 72 - install/include/ql/models/equity/hestonmodel.cpp | 54 - install/include/ql/models/equity/hestonmodel.hpp | 87 - .../include/ql/models/equity/hestonmodelhelper.cpp | 94 - .../include/ql/models/equity/hestonmodelhelper.hpp | 78 - .../include/ql/models/equity/hestonslvfdmmodel.cpp | 537 - .../include/ql/models/equity/hestonslvfdmmodel.hpp | 114 - .../include/ql/models/equity/hestonslvmcmodel.cpp | 189 - .../include/ql/models/equity/hestonslvmcmodel.hpp | 75 - .../equity/piecewisetimedependenthestonmodel.cpp | 64 - .../equity/piecewisetimedependenthestonmodel.hpp | 84 - install/include/ql/models/marketmodels/Makefile.am | 89 - .../ql/models/marketmodels/accountingengine.cpp | 122 - .../ql/models/marketmodels/accountingengine.hpp | 71 - install/include/ql/models/marketmodels/all.hpp | 33 - .../ql/models/marketmodels/browniangenerator.hpp | 51 - .../marketmodels/browniangenerators/Makefile.am | 47 - .../models/marketmodels/browniangenerators/all.hpp | 6 - .../browniangenerators/mtbrowniangenerator.cpp | 69 - .../browniangenerators/mtbrowniangenerator.hpp | 74 - .../browniangenerators/sobolbrowniangenerator.cpp | 254 - .../browniangenerators/sobolbrowniangenerator.hpp | 140 - .../ql/models/marketmodels/callability/Makefile.am | 67 - .../ql/models/marketmodels/callability/all.hpp | 18 - .../callability/bermudanswaptionexercisevalue.cpp | 86 - .../callability/bermudanswaptionexercisevalue.hpp | 60 - .../marketmodels/callability/collectnodedata.cpp | 205 - .../marketmodels/callability/collectnodedata.hpp | 45 - .../marketmodels/callability/exercisevalue.hpp | 53 - .../models/marketmodels/callability/lsstrategy.cpp | 163 - .../models/marketmodels/callability/lsstrategy.hpp | 68 - .../callability/marketmodelbasissystem.hpp | 39 - .../callability/marketmodelparametricexercise.hpp | 40 - .../marketmodels/callability/nodedataprovider.hpp | 52 - .../callability/nothingexercisevalue.cpp | 92 - .../callability/nothingexercisevalue.hpp | 56 - .../callability/parametricexerciseadapter.cpp | 71 - .../callability/parametricexerciseadapter.hpp | 56 - .../marketmodels/callability/swapbasissystem.cpp | 84 - .../marketmodels/callability/swapbasissystem.hpp | 51 - .../callability/swapforwardbasissystem.cpp | 136 - .../callability/swapforwardbasissystem.hpp | 55 - .../marketmodels/callability/swapratetrigger.cpp | 76 - .../marketmodels/callability/swapratetrigger.hpp | 51 - .../callability/triggeredswapexercise.cpp | 94 - .../callability/triggeredswapexercise.hpp | 62 - .../marketmodels/callability/upperboundengine.cpp | 347 - .../marketmodels/callability/upperboundengine.hpp | 83 - .../ql/models/marketmodels/constrainedevolver.hpp | 54 - .../models/marketmodels/correlations/Makefile.am | 49 - .../ql/models/marketmodels/correlations/all.hpp | 7 - .../correlations/cotswapfromfwdcorrelation.cpp | 78 - .../correlations/cotswapfromfwdcorrelation.hpp | 50 - .../marketmodels/correlations/expcorrelations.cpp | 142 - .../marketmodels/correlations/expcorrelations.hpp | 68 - .../timehomogeneousforwardcorrelation.cpp | 90 - .../timehomogeneousforwardcorrelation.hpp | 50 - .../include/ql/models/marketmodels/curvestate.cpp | 126 - .../include/ql/models/marketmodels/curvestate.hpp | 108 - .../ql/models/marketmodels/curvestates/Makefile.am | 49 - .../ql/models/marketmodels/curvestates/all.hpp | 7 - .../marketmodels/curvestates/cmswapcurvestate.cpp | 185 - .../marketmodels/curvestates/cmswapcurvestate.hpp | 72 - .../curvestates/coterminalswapcurvestate.cpp | 148 - .../curvestates/coterminalswapcurvestate.hpp | 86 - .../marketmodels/curvestates/lmmcurvestate.cpp | 202 - .../marketmodels/curvestates/lmmcurvestate.hpp | 91 - .../include/ql/models/marketmodels/discounter.cpp | 56 - .../include/ql/models/marketmodels/discounter.hpp | 44 - .../marketmodels/driftcomputation/Makefile.am | 51 - .../models/marketmodels/driftcomputation/all.hpp | 8 - .../driftcomputation/cmsmmdriftcalculator.cpp | 137 - .../driftcomputation/cmsmmdriftcalculator.hpp | 71 - .../driftcomputation/lmmdriftcalculator.cpp | 181 - .../driftcomputation/lmmdriftcalculator.hpp | 82 - .../driftcomputation/lmmnormaldriftcalculator.cpp | 158 - .../driftcomputation/lmmnormaldriftcalculator.hpp | 83 - .../driftcomputation/smmdriftcalculator.cpp | 132 - .../driftcomputation/smmdriftcalculator.hpp | 65 - .../models/marketmodels/evolutiondescription.cpp | 190 - .../models/marketmodels/evolutiondescription.hpp | 119 - install/include/ql/models/marketmodels/evolver.hpp | 49 - .../ql/models/marketmodels/evolvers/Makefile.am | 68 - .../ql/models/marketmodels/evolvers/all.hpp | 16 - .../evolvers/lognormalcmswapratepc.cpp | 159 - .../evolvers/lognormalcmswapratepc.hpp | 76 - .../evolvers/lognormalcotswapratepc.cpp | 157 - .../evolvers/lognormalcotswapratepc.hpp | 73 - .../evolvers/lognormalfwdrateballand.cpp | 154 - .../evolvers/lognormalfwdrateballand.hpp | 74 - .../evolvers/lognormalfwdrateeuler.cpp | 143 - .../evolvers/lognormalfwdrateeuler.hpp | 82 - .../evolvers/lognormalfwdrateeulerconstrained.cpp | 234 - .../evolvers/lognormalfwdrateeulerconstrained.hpp | 95 - .../evolvers/lognormalfwdrateiballand.cpp | 156 - .../evolvers/lognormalfwdrateiballand.hpp | 74 - .../marketmodels/evolvers/lognormalfwdrateipc.cpp | 151 - .../marketmodels/evolvers/lognormalfwdrateipc.hpp | 75 - .../marketmodels/evolvers/lognormalfwdratepc.cpp | 151 - .../marketmodels/evolvers/lognormalfwdratepc.hpp | 73 - .../evolvers/marketmodelvolprocess.hpp | 56 - .../marketmodels/evolvers/normalfwdratepc.cpp | 143 - .../marketmodels/evolvers/normalfwdratepc.hpp | 71 - .../models/marketmodels/evolvers/svddfwdratepc.cpp | 199 - .../models/marketmodels/evolvers/svddfwdratepc.hpp | 91 - .../marketmodels/evolvers/volprocesses/Makefile.am | 45 - .../marketmodels/evolvers/volprocesses/all.hpp | 5 - .../evolvers/volprocesses/squarerootandersen.cpp | 164 - .../evolvers/volprocesses/squarerootandersen.hpp | 89 - .../models/marketmodels/forwardforwardmappings.cpp | 125 - .../models/marketmodels/forwardforwardmappings.hpp | 63 - .../historicalforwardratesanalysis.hpp | 302 - .../marketmodels/historicalratesanalysis.cpp | 95 - .../marketmodels/historicalratesanalysis.hpp | 80 - .../include/ql/models/marketmodels/marketmodel.cpp | 75 - .../include/ql/models/marketmodels/marketmodel.hpp | 68 - .../models/marketmodels/marketmodeldifferences.cpp | 117 - .../models/marketmodels/marketmodeldifferences.hpp | 48 - .../ql/models/marketmodels/models/Makefile.am | 78 - .../ql/models/marketmodels/models/abcdvol.cpp | 137 - .../ql/models/marketmodels/models/abcdvol.hpp | 100 - .../include/ql/models/marketmodels/models/all.hpp | 22 - .../ql/models/marketmodels/models/alphafinder.cpp | 563 - .../ql/models/marketmodels/models/alphafinder.hpp | 96 - .../ql/models/marketmodels/models/alphaform.hpp | 36 - .../marketmodels/models/alphaformconcrete.cpp | 54 - .../marketmodels/models/alphaformconcrete.hpp | 54 - .../models/capletcoterminalalphacalibration.cpp | 262 - .../models/capletcoterminalalphacalibration.hpp | 90 - .../models/capletcoterminalmaxhomogeneity.cpp | 423 - .../models/capletcoterminalmaxhomogeneity.hpp | 69 - .../models/capletcoterminalperiodic.cpp | 180 - .../models/capletcoterminalperiodic.hpp | 66 - .../models/capletcoterminalswaptioncalibration.cpp | 354 - .../models/capletcoterminalswaptioncalibration.hpp | 71 - .../marketmodels/models/cotswaptofwdadapter.cpp | 103 - .../marketmodels/models/cotswaptofwdadapter.hpp | 102 - .../marketmodels/models/ctsmmcapletcalibration.cpp | 204 - .../marketmodels/models/ctsmmcapletcalibration.hpp | 194 - .../ql/models/marketmodels/models/flatvol.cpp | 206 - .../ql/models/marketmodels/models/flatvol.hpp | 131 - .../marketmodels/models/fwdperiodadapter.cpp | 125 - .../marketmodels/models/fwdperiodadapter.hpp | 93 - .../marketmodels/models/fwdtocotswapadapter.cpp | 103 - .../marketmodels/models/fwdtocotswapadapter.hpp | 102 - .../models/piecewiseconstantabcdvariance.cpp | 80 - .../models/piecewiseconstantabcdvariance.hpp | 52 - .../models/piecewiseconstantvariance.cpp | 51 - .../models/piecewiseconstantvariance.hpp | 49 - .../marketmodels/models/pseudorootfacade.cpp | 79 - .../marketmodels/models/pseudorootfacade.hpp | 92 - .../models/volatilityinterpolationspecifier.hpp | 58 - .../volatilityinterpolationspecifierabcd.cpp | 196 - .../volatilityinterpolationspecifierabcd.hpp | 77 - .../ql/models/marketmodels/multiproduct.hpp | 77 - .../marketmodels/pathwiseaccountingengine.cpp | 1195 - .../marketmodels/pathwiseaccountingengine.hpp | 283 - .../ql/models/marketmodels/pathwisediscounter.cpp | 84 - .../ql/models/marketmodels/pathwisediscounter.hpp | 62 - .../models/marketmodels/pathwisegreeks/Makefile.am | 50 - .../ql/models/marketmodels/pathwisegreeks/all.hpp | 8 - .../pathwisegreeks/bumpinstrumentjacobian.cpp | 209 - .../pathwisegreeks/bumpinstrumentjacobian.hpp | 116 - .../pathwisegreeks/ratepseudorootjacobian.cpp | 320 - .../pathwisegreeks/ratepseudorootjacobian.hpp | 158 - .../pathwisegreeks/swaptionpseudojacobian.cpp | 382 - .../pathwisegreeks/swaptionpseudojacobian.hpp | 112 - .../pathwisegreeks/vegabumpcluster.cpp | 236 - .../pathwisegreeks/vegabumpcluster.hpp | 137 - .../models/marketmodels/pathwisemultiproduct.hpp | 84 - .../marketmodels/piecewiseconstantcorrelation.hpp | 54 - .../ql/models/marketmodels/products/Makefile.am | 60 - .../ql/models/marketmodels/products/all.hpp | 12 - .../marketmodels/products/compositeproduct.cpp | 155 - .../marketmodels/products/compositeproduct.hpp | 86 - .../products/multiproductcomposite.cpp | 86 - .../products/multiproductcomposite.hpp | 49 - .../products/multiproductmultistep.cpp | 56 - .../products/multiproductmultistep.hpp | 49 - .../marketmodels/products/multiproductonestep.cpp | 49 - .../marketmodels/products/multiproductonestep.hpp | 49 - .../marketmodels/products/multistep/Makefile.am | 75 - .../models/marketmodels/products/multistep/all.hpp | 20 - .../multistep/callspecifiedmultiproduct.cpp | 205 - .../multistep/callspecifiedmultiproduct.hpp | 73 - .../marketmodels/products/multistep/cashrebate.cpp | 103 - .../marketmodels/products/multistep/cashrebate.hpp | 67 - .../products/multistep/exerciseadapter.cpp | 58 - .../products/multistep/exerciseadapter.hpp | 89 - .../products/multistep/multistepcoinitialswaps.cpp | 70 - .../products/multistep/multistepcoinitialswaps.hpp | 77 - .../multistep/multistepcoterminalswaps.cpp | 69 - .../multistep/multistepcoterminalswaps.hpp | 77 - .../multistep/multistepcoterminalswaptions.cpp | 62 - .../multistep/multistepcoterminalswaptions.hpp | 78 - .../products/multistep/multistepforwards.cpp | 58 - .../products/multistep/multistepforwards.hpp | 75 - .../products/multistep/multistepinversefloater.cpp | 75 - .../products/multistep/multistepinversefloater.hpp | 86 - .../products/multistep/multistepnothing.cpp | 45 - .../products/multistep/multistepnothing.hpp | 72 - .../products/multistep/multistepoptionlets.cpp | 60 - .../products/multistep/multistepoptionlets.hpp | 79 - .../multistep/multisteppathwisewrapper.cpp | 95 - .../multistep/multisteppathwisewrapper.hpp | 64 - .../multistep/multistepperiodcapletswaptions.cpp | 138 - .../multistep/multistepperiodcapletswaptions.hpp | 94 - .../products/multistep/multistepratchet.cpp | 74 - .../products/multistep/multistepratchet.hpp | 87 - .../products/multistep/multistepswap.cpp | 68 - .../products/multistep/multistepswap.hpp | 81 - .../products/multistep/multistepswaption.cpp | 76 - .../products/multistep/multistepswaption.hpp | 88 - .../products/multistep/multisteptarn.cpp | 114 - .../products/multistep/multisteptarn.hpp | 71 - .../marketmodels/products/onestep/Makefile.am | 51 - .../models/marketmodels/products/onestep/all.hpp | 8 - .../products/onestep/onestepcoinitialswaps.cpp | 72 - .../products/onestep/onestepcoinitialswaps.hpp | 77 - .../products/onestep/onestepcoterminalswaps.cpp | 71 - .../products/onestep/onestepcoterminalswaps.hpp | 76 - .../products/onestep/onestepforwards.cpp | 59 - .../products/onestep/onestepforwards.hpp | 77 - .../products/onestep/onestepoptionlets.cpp | 63 - .../products/onestep/onestepoptionlets.hpp | 77 - .../marketmodels/products/pathwise/Makefile.am | 55 - .../models/marketmodels/products/pathwise/all.hpp | 10 - .../pathwise/pathwiseproductcallspecified.cpp | 182 - .../pathwise/pathwiseproductcallspecified.hpp | 87 - .../products/pathwise/pathwiseproductcaplet.cpp | 382 - .../products/pathwise/pathwiseproductcaplet.hpp | 199 - .../pathwise/pathwiseproductcashrebate.cpp | 114 - .../pathwise/pathwiseproductcashrebate.hpp | 78 - .../pathwise/pathwiseproductinversefloater.cpp | 143 - .../pathwise/pathwiseproductinversefloater.hpp | 93 - .../products/pathwise/pathwiseproductswap.cpp | 130 - .../products/pathwise/pathwiseproductswap.hpp | 90 - .../products/pathwise/pathwiseproductswaption.cpp | 254 - .../products/pathwise/pathwiseproductswaption.hpp | 140 - .../products/singleproductcomposite.cpp | 79 - .../products/singleproductcomposite.hpp | 49 - .../ql/models/marketmodels/proxygreekengine.cpp | 191 - .../ql/models/marketmodels/proxygreekengine.hpp | 82 - .../ql/models/marketmodels/swapforwardmappings.cpp | 221 - .../ql/models/marketmodels/swapforwardmappings.hpp | 91 - .../include/ql/models/marketmodels/utilities.cpp | 126 - .../include/ql/models/marketmodels/utilities.hpp | 50 - install/include/ql/models/model.cpp | 154 - install/include/ql/models/model.hpp | 233 - install/include/ql/models/parameter.hpp | 193 - install/include/ql/models/shortrate/Makefile.am | 54 - install/include/ql/models/shortrate/all.hpp | 9 - .../shortrate/calibrationhelpers/Makefile.am | 47 - .../ql/models/shortrate/calibrationhelpers/all.hpp | 6 - .../shortrate/calibrationhelpers/caphelper.cpp | 147 - .../shortrate/calibrationhelpers/caphelper.hpp | 66 - .../calibrationhelpers/swaptionhelper.cpp | 218 - .../calibrationhelpers/swaptionhelper.hpp | 123 - .../include/ql/models/shortrate/onefactormodel.cpp | 104 - .../include/ql/models/shortrate/onefactormodel.hpp | 150 - .../models/shortrate/onefactormodels/Makefile.am | 59 - .../ql/models/shortrate/onefactormodels/all.hpp | 12 - .../shortrate/onefactormodels/blackkarasinski.cpp | 110 - .../shortrate/onefactormodels/blackkarasinski.hpp | 93 - .../shortrate/onefactormodels/coxingersollross.cpp | 134 - .../shortrate/onefactormodels/coxingersollross.hpp | 103 - .../onefactormodels/extendedcoxingersollross.cpp | 108 - .../onefactormodels/extendedcoxingersollross.hpp | 161 - .../shortrate/onefactormodels/gaussian1dmodel.cpp | 285 - .../shortrate/onefactormodels/gaussian1dmodel.hpp | 262 - .../ql/models/shortrate/onefactormodels/gsr.cpp | 219 - .../ql/models/shortrate/onefactormodels/gsr.hpp | 200 - .../models/shortrate/onefactormodels/hullwhite.cpp | 171 - .../models/shortrate/onefactormodels/hullwhite.hpp | 172 - .../shortrate/onefactormodels/markovfunctional.cpp | 1166 - .../shortrate/onefactormodels/markovfunctional.hpp | 542 - .../models/shortrate/onefactormodels/vasicek.cpp | 78 - .../models/shortrate/onefactormodels/vasicek.hpp | 108 - .../include/ql/models/shortrate/twofactormodel.cpp | 62 - .../include/ql/models/shortrate/twofactormodel.hpp | 133 - .../models/shortrate/twofactormodels/Makefile.am | 45 - .../ql/models/shortrate/twofactormodels/all.hpp | 5 - .../ql/models/shortrate/twofactormodels/g2.cpp | 248 - .../ql/models/shortrate/twofactormodels/g2.hpp | 186 - install/include/ql/models/volatility/Makefile.am | 49 - install/include/ql/models/volatility/all.hpp | 8 - .../ql/models/volatility/constantestimator.cpp | 47 - .../ql/models/volatility/constantestimator.hpp | 48 - install/include/ql/models/volatility/garch.cpp | 559 - install/include/ql/models/volatility/garch.hpp | 265 - .../include/ql/models/volatility/garmanklass.hpp | 181 - .../ql/models/volatility/simplelocalestimator.hpp | 60 - install/include/ql/money.cpp | 168 - install/include/ql/money.hpp | 255 - install/include/ql/numericalmethod.hpp | 101 - install/include/ql/option.hpp | 114 - install/include/ql/optional.hpp | 49 - install/include/ql/patterns/Makefile.am | 49 - install/include/ql/patterns/all.hpp | 9 - install/include/ql/patterns/curiouslyrecurring.hpp | 56 - install/include/ql/patterns/lazyobject.hpp | 271 - install/include/ql/patterns/observable.cpp | 205 - install/include/ql/patterns/observable.hpp | 582 - install/include/ql/patterns/singleton.hpp | 113 - install/include/ql/patterns/visitor.hpp | 49 - install/include/ql/payoff.hpp | 69 - install/include/ql/position.cpp | 37 - install/include/ql/position.hpp | 44 - install/include/ql/prices.cpp | 152 - install/include/ql/prices.hpp | 109 - install/include/ql/pricingengine.hpp | 79 - install/include/ql/pricingengines/Makefile.am | 78 - install/include/ql/pricingengines/all.hpp | 29 - .../ql/pricingengines/americanpayoffatexpiry.cpp | 183 - .../ql/pricingengines/americanpayoffatexpiry.hpp | 72 - .../ql/pricingengines/americanpayoffathit.cpp | 236 - .../ql/pricingengines/americanpayoffathit.hpp | 73 - .../include/ql/pricingengines/asian/Makefile.am | 68 - install/include/ql/pricingengines/asian/all.hpp | 17 - .../asian/analytic_cont_geom_av_price.cpp | 102 - .../asian/analytic_cont_geom_av_price.hpp | 63 - .../asian/analytic_discr_geom_av_price.cpp | 167 - .../asian/analytic_discr_geom_av_price.hpp | 63 - .../asian/analytic_discr_geom_av_strike.cpp | 137 - .../asian/analytic_discr_geom_av_strike.hpp | 58 - .../ql/pricingengines/asian/choiasianengine.cpp | 168 - .../ql/pricingengines/asian/choiasianengine.hpp | 65 - .../asian/continuousarithmeticasianlevyengine.cpp | 112 - .../asian/continuousarithmeticasianlevyengine.hpp | 53 - .../asian/fdblackscholesasianengine.cpp | 125 - .../asian/fdblackscholesasianengine.hpp | 63 - .../asian/mc_discr_arith_av_price.cpp | 54 - .../asian/mc_discr_arith_av_price.hpp | 291 - .../asian/mc_discr_arith_av_price_heston.cpp | 51 - .../asian/mc_discr_arith_av_price_heston.hpp | 325 - .../asian/mc_discr_arith_av_strike.cpp | 53 - .../asian/mc_discr_arith_av_strike.hpp | 226 - .../asian/mc_discr_geom_av_price.cpp | 61 - .../asian/mc_discr_geom_av_price.hpp | 237 - .../asian/mc_discr_geom_av_price_heston.cpp | 62 - .../asian/mc_discr_geom_av_price_heston.hpp | 257 - .../asian/mcdiscreteasianenginebase.hpp | 205 - .../asian/turnbullwakemanasianengine.cpp | 133 - .../asian/turnbullwakemanasianengine.hpp | 62 - .../include/ql/pricingengines/barrier/Makefile.am | 73 - install/include/ql/pricingengines/barrier/all.hpp | 19 - .../barrier/analyticbarrierengine.cpp | 266 - .../barrier/analyticbarrierengine.hpp | 78 - .../barrier/analyticbinarybarrierengine.cpp | 324 - .../barrier/analyticbinarybarrierengine.hpp | 58 - .../barrier/analyticdoublebarrierbinaryengine.cpp | 307 - .../barrier/analyticdoublebarrierbinaryengine.hpp | 63 - .../barrier/analyticdoublebarrierengine.cpp | 243 - .../barrier/analyticdoublebarrierengine.hpp | 83 - .../analyticpartialtimebarrieroptionengine.cpp | 373 - .../analyticpartialtimebarrieroptionengine.hpp | 79 - .../barrier/analyticsoftbarrierengine.cpp | 306 - .../barrier/analyticsoftbarrierengine.hpp | 82 - .../barrier/analytictwoassetbarrierengine.cpp | 244 - .../barrier/analytictwoassetbarrierengine.hpp | 99 - .../barrier/binomialbarrierengine.hpp | 219 - .../barrier/discretizedbarrieroption.cpp | 216 - .../barrier/discretizedbarrieroption.hpp | 85 - .../barrier/fdblackscholesbarrierengine.cpp | 208 - .../barrier/fdblackscholesbarrierengine.hpp | 76 - .../barrier/fdblackscholesrebateengine.cpp | 145 - .../barrier/fdblackscholesrebateengine.hpp | 71 - .../barrier/fdhestonbarrierengine.cpp | 208 - .../barrier/fdhestonbarrierengine.hpp | 83 - .../barrier/fdhestondoublebarrierengine.cpp | 123 - .../barrier/fdhestondoublebarrierengine.hpp | 71 - .../barrier/fdhestonrebateengine.cpp | 160 - .../barrier/fdhestonrebateengine.hpp | 78 - .../ql/pricingengines/barrier/mcbarrierengine.cpp | 249 - .../ql/pricingengines/barrier/mcbarrierengine.hpp | 372 - .../include/ql/pricingengines/basket/Makefile.am | 69 - install/include/ql/pricingengines/basket/all.hpp | 17 - .../basket/bjerksundstenslandspreadengine.cpp | 61 - .../basket/bjerksundstenslandspreadengine.hpp | 52 - .../ql/pricingengines/basket/choibasketengine.cpp | 261 - .../ql/pricingengines/basket/choibasketengine.hpp | 69 - .../basket/denglizhoubasketengine.cpp | 292 - .../basket/denglizhoubasketengine.hpp | 75 - .../basket/fd2dblackscholesvanillaengine.cpp | 110 - .../basket/fd2dblackscholesvanillaengine.hpp | 68 - .../basket/fdndimblackscholesvanillaengine.cpp | 225 - .../basket/fdndimblackscholesvanillaengine.hpp | 71 - .../ql/pricingengines/basket/kirkengine.cpp | 52 - .../ql/pricingengines/basket/kirkengine.hpp | 55 - .../basket/mcamericanbasketengine.cpp | 86 - .../basket/mcamericanbasketengine.hpp | 308 - .../basket/mceuropeanbasketengine.cpp | 48 - .../basket/mceuropeanbasketengine.hpp | 301 - .../basket/operatorsplittingspreadengine.cpp | 186 - .../basket/operatorsplittingspreadengine.hpp | 56 - .../basket/singlefactorbsmbasketengine.cpp | 190 - .../basket/singlefactorbsmbasketengine.hpp | 82 - .../basket/spreadblackscholesvanillaengine.cpp | 72 - .../basket/spreadblackscholesvanillaengine.hpp | 52 - .../ql/pricingengines/basket/stulzengine.cpp | 208 - .../ql/pricingengines/basket/stulzengine.hpp | 60 - .../basket/vectorbsmprocessextractor.cpp | 96 - .../basket/vectorbsmprocessextractor.hpp | 53 - .../include/ql/pricingengines/blackcalculator.cpp | 369 - .../include/ql/pricingengines/blackcalculator.hpp | 143 - install/include/ql/pricingengines/blackformula.cpp | 972 - install/include/ql/pricingengines/blackformula.hpp | 424 - .../ql/pricingengines/blackscholescalculator.cpp | 54 - .../ql/pricingengines/blackscholescalculator.hpp | 94 - install/include/ql/pricingengines/bond/Makefile.am | 52 - install/include/ql/pricingengines/bond/all.hpp | 9 - .../bond/binomialconvertibleengine.hpp | 136 - .../ql/pricingengines/bond/bondfunctions.cpp | 552 - .../ql/pricingengines/bond/bondfunctions.hpp | 263 - .../pricingengines/bond/discountingbondengine.cpp | 69 - .../pricingengines/bond/discountingbondengine.hpp | 55 - .../pricingengines/bond/discretizedconvertible.cpp | 249 - .../pricingengines/bond/discretizedconvertible.hpp | 91 - .../ql/pricingengines/bond/riskybondengine.cpp | 76 - .../ql/pricingengines/bond/riskybondengine.hpp | 90 - .../include/ql/pricingengines/capfloor/Makefile.am | 57 - install/include/ql/pricingengines/capfloor/all.hpp | 11 - .../capfloor/analyticcapfloorengine.cpp | 120 - .../capfloor/analyticcapfloorengine.hpp | 55 - .../capfloor/bacheliercapfloorengine.cpp | 151 - .../capfloor/bacheliercapfloorengine.hpp | 56 - .../capfloor/blackcapfloorengine.cpp | 168 - .../capfloor/blackcapfloorengine.hpp | 64 - .../capfloor/discretizedcapfloor.cpp | 117 - .../capfloor/discretizedcapfloor.hpp | 54 - .../capfloor/gaussian1dcapfloorengine.cpp | 222 - .../capfloor/gaussian1dcapfloorengine.hpp | 64 - .../pricingengines/capfloor/mchullwhiteengine.cpp | 110 - .../pricingengines/capfloor/mchullwhiteengine.hpp | 250 - .../pricingengines/capfloor/treecapfloorengine.cpp | 83 - .../pricingengines/capfloor/treecapfloorengine.hpp | 60 - .../include/ql/pricingengines/cliquet/Makefile.am | 49 - install/include/ql/pricingengines/cliquet/all.hpp | 7 - .../cliquet/analyticcliquetengine.cpp | 114 - .../cliquet/analyticcliquetengine.hpp | 53 - .../cliquet/analyticperformanceengine.cpp | 114 - .../cliquet/analyticperformanceengine.hpp | 50 - .../pricingengines/cliquet/mcperformanceengine.cpp | 45 - .../pricingengines/cliquet/mcperformanceengine.hpp | 257 - .../include/ql/pricingengines/credit/Makefile.am | 49 - install/include/ql/pricingengines/credit/all.hpp | 7 - .../ql/pricingengines/credit/integralcdsengine.cpp | 197 - .../ql/pricingengines/credit/integralcdsengine.hpp | 53 - .../ql/pricingengines/credit/isdacdsengine.cpp | 366 - .../ql/pricingengines/credit/isdacdsengine.hpp | 122 - .../ql/pricingengines/credit/midpointcdsengine.cpp | 187 - .../ql/pricingengines/credit/midpointcdsengine.hpp | 52 - .../include/ql/pricingengines/exotic/Makefile.am | 59 - install/include/ql/pricingengines/exotic/all.hpp | 12 - .../exotic/analyticamericanmargrabeengine.cpp | 110 - .../exotic/analyticamericanmargrabeengine.hpp | 56 - .../exotic/analyticcomplexchooserengine.cpp | 181 - .../exotic/analyticcomplexchooserengine.hpp | 62 - .../exotic/analyticcompoundoptionengine.cpp | 298 - .../exotic/analyticcompoundoptionengine.hpp | 101 - .../exotic/analyticeuropeanmargrabeengine.cpp | 108 - .../exotic/analyticeuropeanmargrabeengine.hpp | 56 - .../analyticholderextensibleoptionengine.cpp | 342 - .../analyticholderextensibleoptionengine.hpp | 68 - .../exotic/analyticsimplechooserengine.cpp | 87 - .../exotic/analyticsimplechooserengine.hpp | 44 - .../exotic/analytictwoassetcorrelationengine.cpp | 84 - .../exotic/analytictwoassetcorrelationengine.hpp | 51 - .../analyticwriterextensibleoptionengine.cpp | 131 - .../analyticwriterextensibleoptionengine.hpp | 47 - .../include/ql/pricingengines/forward/Makefile.am | 52 - install/include/ql/pricingengines/forward/all.hpp | 11 - .../ql/pricingengines/forward/forwardengine.hpp | 178 - .../forward/forwardperformanceengine.hpp | 96 - .../forward/mcforwardeuropeanbsengine.cpp | 43 - .../forward/mcforwardeuropeanbsengine.hpp | 258 - .../forward/mcforwardeuropeanhestonengine.cpp | 44 - .../forward/mcforwardeuropeanhestonengine.hpp | 310 - .../forward/mcforwardvanillaengine.hpp | 179 - .../forward/mcvarianceswapengine.hpp | 344 - .../forward/replicatingvarianceswapengine.hpp | 233 - .../ql/pricingengines/genericmodelengine.hpp | 58 - install/include/ql/pricingengines/greeks.cpp | 41 - install/include/ql/pricingengines/greeks.hpp | 42 - .../ql/pricingengines/inflation/Makefile.am | 45 - .../include/ql/pricingengines/inflation/all.hpp | 5 - .../inflation/inflationcapfloorengines.cpp | 187 - .../inflation/inflationcapfloorengines.hpp | 113 - .../pricingengines/latticeshortratemodelengine.hpp | 100 - .../include/ql/pricingengines/lookback/Makefile.am | 53 - install/include/ql/pricingengines/lookback/all.hpp | 9 - .../lookback/analyticcontinuousfixedlookback.cpp | 154 - .../lookback/analyticcontinuousfixedlookback.hpp | 71 - .../analyticcontinuousfloatinglookback.cpp | 111 - .../analyticcontinuousfloatinglookback.hpp | 68 - .../analyticcontinuouspartialfixedlookback.cpp | 156 - .../analyticcontinuouspartialfixedlookback.hpp | 71 - .../analyticcontinuouspartialfloatinglookback.cpp | 178 - .../analyticcontinuouspartialfloatinglookback.hpp | 74 - .../pricingengines/lookback/mclookbackengine.cpp | 256 - .../pricingengines/lookback/mclookbackengine.hpp | 295 - .../pricingengines/mclongstaffschwartzengine.hpp | 261 - install/include/ql/pricingengines/mcsimulation.hpp | 224 - .../include/ql/pricingengines/quanto/Makefile.am | 20 - install/include/ql/pricingengines/quanto/all.hpp | 5 - .../ql/pricingengines/quanto/quantoengine.hpp | 178 - install/include/ql/pricingengines/swap/Makefile.am | 51 - install/include/ql/pricingengines/swap/all.hpp | 8 - .../ql/pricingengines/swap/cvaswapengine.cpp | 219 - .../ql/pricingengines/swap/cvaswapengine.hpp | 125 - .../pricingengines/swap/discountingswapengine.cpp | 114 - .../pricingengines/swap/discountingswapengine.hpp | 58 - .../ql/pricingengines/swap/discretizedswap.cpp | 219 - .../ql/pricingengines/swap/discretizedswap.hpp | 70 - .../ql/pricingengines/swap/treeswapengine.cpp | 78 - .../ql/pricingengines/swap/treeswapengine.hpp | 63 - .../include/ql/pricingengines/swaption/Makefile.am | 66 - install/include/ql/pricingengines/swaption/all.hpp | 16 - .../swaption/basketgeneratingengine.cpp | 244 - .../swaption/basketgeneratingengine.hpp | 235 - .../swaption/blackswaptionengine.cpp | 79 - .../swaption/blackswaptionengine.hpp | 333 - .../swaption/discretizedswaption.cpp | 126 - .../swaption/discretizedswaption.hpp | 57 - .../pricingengines/swaption/fdg2swaptionengine.cpp | 122 - .../pricingengines/swaption/fdg2swaptionengine.hpp | 51 - .../swaption/fdhullwhiteswaptionengine.cpp | 107 - .../swaption/fdhullwhiteswaptionengine.hpp | 54 - .../pricingengines/swaption/g2swaptionengine.hpp | 76 - .../gaussian1dfloatfloatswaptionengine.cpp | 692 - .../gaussian1dfloatfloatswaptionengine.hpp | 156 - .../gaussian1djamshidianswaptionengine.cpp | 126 - .../gaussian1djamshidianswaptionengine.hpp | 56 - .../gaussian1dnonstandardswaptionengine.cpp | 497 - .../gaussian1dnonstandardswaptionengine.hpp | 139 - .../swaption/gaussian1dswaptionengine.cpp | 346 - .../swaption/gaussian1dswaptionengine.hpp | 99 - .../swaption/jamshidianswaptionengine.cpp | 131 - .../swaption/jamshidianswaptionengine.hpp | 70 - .../pricingengines/swaption/treeswaptionengine.cpp | 98 - .../pricingengines/swaption/treeswaptionengine.hpp | 72 - .../include/ql/pricingengines/vanilla/Makefile.am | 122 - install/include/ql/pricingengines/vanilla/all.hpp | 45 - .../vanilla/analyticbsmhullwhiteengine.cpp | 133 - .../vanilla/analyticbsmhullwhiteengine.hpp | 63 - .../pricingengines/vanilla/analyticcevengine.cpp | 113 - .../pricingengines/vanilla/analyticcevengine.hpp | 74 - .../vanilla/analyticdigitalamericanengine.cpp | 81 - .../vanilla/analyticdigitalamericanengine.hpp | 101 - .../vanilla/analyticdividendeuropeanengine.cpp | 121 - .../vanilla/analyticdividendeuropeanengine.hpp | 52 - .../vanilla/analyticeuropeanengine.cpp | 118 - .../vanilla/analyticeuropeanengine.hpp | 86 - .../vanilla/analyticeuropeanvasicekengine.cpp | 94 - .../vanilla/analyticeuropeanvasicekengine.hpp | 54 - .../vanilla/analyticgjrgarchengine.cpp | 284 - .../vanilla/analyticgjrgarchengine.hpp | 91 - .../pricingengines/vanilla/analytich1hwengine.cpp | 163 - .../pricingengines/vanilla/analytich1hwengine.hpp | 88 - .../vanilla/analytichestonengine.cpp | 1165 - .../vanilla/analytichestonengine.hpp | 313 - .../vanilla/analytichestonhullwhiteengine.cpp | 77 - .../vanilla/analytichestonhullwhiteengine.hpp | 101 - .../vanilla/analyticpdfhestonengine.cpp | 84 - .../vanilla/analyticpdfhestonengine.hpp | 75 - .../vanilla/analyticptdhestonengine.cpp | 411 - .../vanilla/analyticptdhestonengine.hpp | 101 - .../vanilla/baroneadesiwhaleyengine.cpp | 233 - .../vanilla/baroneadesiwhaleyengine.hpp | 58 - .../ql/pricingengines/vanilla/batesengine.cpp | 145 - .../ql/pricingengines/vanilla/batesengine.hpp | 159 - .../ql/pricingengines/vanilla/binomialengine.hpp | 177 - .../vanilla/bjerksundstenslandengine.cpp | 507 - .../vanilla/bjerksundstenslandengine.hpp | 59 - .../ql/pricingengines/vanilla/coshestonengine.cpp | 302 - .../ql/pricingengines/vanilla/coshestonengine.hpp | 86 - .../vanilla/discretizedvanillaoption.cpp | 80 - .../vanilla/discretizedvanillaoption.hpp | 59 - .../vanilla/exponentialfittinghestonengine.cpp | 307 - .../vanilla/exponentialfittinghestonengine.hpp | 72 - .../vanilla/fdbatesvanillaengine.cpp | 84 - .../vanilla/fdbatesvanillaengine.hpp | 65 - .../vanilla/fdblackscholesshoutengine.cpp | 131 - .../vanilla/fdblackscholesshoutengine.hpp | 64 - .../vanilla/fdblackscholesvanillaengine.cpp | 292 - .../vanilla/fdblackscholesvanillaengine.hpp | 148 - .../pricingengines/vanilla/fdcevvanillaengine.cpp | 164 - .../pricingengines/vanilla/fdcevvanillaengine.hpp | 58 - .../pricingengines/vanilla/fdcirvanillaengine.cpp | 194 - .../pricingengines/vanilla/fdcirvanillaengine.hpp | 116 - .../vanilla/fdhestonhullwhitevanillaengine.cpp | 245 - .../vanilla/fdhestonhullwhitevanillaengine.hpp | 96 - .../vanilla/fdhestonvanillaengine.cpp | 312 - .../vanilla/fdhestonvanillaengine.hpp | 152 - .../pricingengines/vanilla/fdmultiperiodengine.hpp | 28 - .../pricingengines/vanilla/fdsabrvanillaengine.cpp | 146 - .../pricingengines/vanilla/fdsabrvanillaengine.hpp | 61 - .../vanilla/fdsimplebsswingengine.cpp | 113 - .../vanilla/fdsimplebsswingengine.hpp | 55 - .../ql/pricingengines/vanilla/fdvanillaengine.hpp | 30 - .../vanilla/hestonexpansionengine.cpp | 739 - .../vanilla/hestonexpansionengine.hpp | 137 - .../ql/pricingengines/vanilla/integralengine.cpp | 87 - .../ql/pricingengines/vanilla/integralengine.hpp | 51 - .../pricingengines/vanilla/jumpdiffusionengine.cpp | 180 - .../pricingengines/vanilla/jumpdiffusionengine.hpp | 61 - .../pricingengines/vanilla/juquadraticengine.cpp | 183 - .../pricingengines/vanilla/juquadraticengine.hpp | 65 - .../ql/pricingengines/vanilla/mcamericanengine.cpp | 74 - .../ql/pricingengines/vanilla/mcamericanengine.hpp | 403 - .../ql/pricingengines/vanilla/mcdigitalengine.cpp | 112 - .../ql/pricingengines/vanilla/mcdigitalengine.hpp | 280 - .../ql/pricingengines/vanilla/mceuropeanengine.hpp | 262 - .../vanilla/mceuropeangjrgarchengine.hpp | 237 - .../vanilla/mceuropeanhestonengine.hpp | 240 - .../vanilla/mchestonhullwhiteengine.cpp | 48 - .../vanilla/mchestonhullwhiteengine.hpp | 314 - .../ql/pricingengines/vanilla/mcvanillaengine.hpp | 169 - .../pricingengines/vanilla/qdfpamericanengine.cpp | 522 - .../pricingengines/vanilla/qdfpamericanengine.hpp | 145 - .../vanilla/qdplusamericanengine.cpp | 396 - .../vanilla/qdplusamericanengine.hpp | 130 - install/include/ql/processes/Makefile.am | 85 - install/include/ql/processes/all.hpp | 25 - install/include/ql/processes/batesprocess.cpp | 80 - install/include/ql/processes/batesprocess.hpp | 74 - .../include/ql/processes/blackscholesprocess.cpp | 275 - .../include/ql/processes/blackscholesprocess.hpp | 207 - .../ql/processes/coxingersollrossprocess.cpp | 41 - .../ql/processes/coxingersollrossprocess.hpp | 142 - .../ql/processes/endeulerdiscretization.cpp | 63 - .../ql/processes/endeulerdiscretization.hpp | 70 - .../include/ql/processes/eulerdiscretization.cpp | 63 - .../include/ql/processes/eulerdiscretization.hpp | 70 - .../include/ql/processes/forwardmeasureprocess.cpp | 54 - .../include/ql/processes/forwardmeasureprocess.hpp | 70 - install/include/ql/processes/g2process.cpp | 225 - install/include/ql/processes/g2process.hpp | 89 - .../ql/processes/geometricbrownianprocess.cpp | 47 - .../ql/processes/geometricbrownianprocess.hpp | 59 - install/include/ql/processes/gjrgarchprocess.cpp | 207 - install/include/ql/processes/gjrgarchprocess.hpp | 112 - install/include/ql/processes/gsrprocess.cpp | 103 - install/include/ql/processes/gsrprocess.hpp | 89 - install/include/ql/processes/gsrprocesscore.cpp | 363 - install/include/ql/processes/gsrprocesscore.hpp | 102 - install/include/ql/processes/hestonprocess.cpp | 580 - install/include/ql/processes/hestonprocess.hpp | 102 - install/include/ql/processes/hestonslvprocess.cpp | 128 - install/include/ql/processes/hestonslvprocess.hpp | 86 - install/include/ql/processes/hullwhiteprocess.cpp | 162 - install/include/ql/processes/hullwhiteprocess.hpp | 91 - .../ql/processes/hybridhestonhullwhiteprocess.cpp | 231 - .../ql/processes/hybridhestonhullwhiteprocess.hpp | 87 - .../ql/processes/jointstochasticprocess.cpp | 310 - .../ql/processes/jointstochasticprocess.hpp | 102 - install/include/ql/processes/merton76process.cpp | 82 - install/include/ql/processes/merton76process.hpp | 73 - install/include/ql/processes/mfstateprocess.cpp | 99 - install/include/ql/processes/mfstateprocess.hpp | 57 - .../ql/processes/ornsteinuhlenbeckprocess.cpp | 45 - .../ql/processes/ornsteinuhlenbeckprocess.hpp | 103 - install/include/ql/processes/squarerootprocess.cpp | 44 - install/include/ql/processes/squarerootprocess.hpp | 66 - .../ql/processes/stochasticprocessarray.cpp | 133 - .../ql/processes/stochasticprocessarray.hpp | 65 - install/include/ql/qldefines.hpp | 221 - install/include/ql/qldefines.hpp.cfg | 222 - install/include/ql/quantlib.hpp | 61 - install/include/ql/quote.cpp | 36 - install/include/ql/quote.hpp | 52 - install/include/ql/quotes/Makefile.am | 58 - install/include/ql/quotes/all.hpp | 13 - install/include/ql/quotes/compositequote.hpp | 100 - install/include/ql/quotes/derivedquote.hpp | 89 - .../include/ql/quotes/eurodollarfuturesquote.cpp | 76 - .../include/ql/quotes/eurodollarfuturesquote.hpp | 63 - install/include/ql/quotes/forwardswapquote.cpp | 99 - install/include/ql/quotes/forwardswapquote.hpp | 69 - install/include/ql/quotes/forwardvaluequote.cpp | 45 - install/include/ql/quotes/forwardvaluequote.hpp | 53 - .../ql/quotes/futuresconvadjustmentquote.cpp | 77 - .../ql/quotes/futuresconvadjustmentquote.hpp | 81 - install/include/ql/quotes/impliedstddevquote.cpp | 65 - install/include/ql/quotes/impliedstddevquote.hpp | 63 - install/include/ql/quotes/lastfixingquote.cpp | 44 - install/include/ql/quotes/lastfixingquote.hpp | 58 - install/include/ql/quotes/simplequote.hpp | 87 - install/include/ql/rebatedexercise.cpp | 54 - install/include/ql/rebatedexercise.hpp | 82 - install/include/ql/settings.cpp | 70 - install/include/ql/settings.hpp | 181 - install/include/ql/shared_ptr.hpp | 59 - install/include/ql/stochasticprocess.cpp | 99 - install/include/ql/stochasticprocess.hpp | 320 - install/include/ql/termstructure.cpp | 74 - install/include/ql/termstructure.hpp | 139 - install/include/ql/termstructures/Makefile.am | 67 - install/include/ql/termstructures/all.hpp | 19 - .../include/ql/termstructures/bootstraperror.hpp | 73 - .../include/ql/termstructures/bootstraphelper.hpp | 252 - .../include/ql/termstructures/credit/Makefile.am | 58 - install/include/ql/termstructures/credit/all.hpp | 14 - .../credit/defaultdensitystructure.cpp | 80 - .../credit/defaultdensitystructure.hpp | 87 - .../credit/defaultprobabilityhelpers.cpp | 226 - .../credit/defaultprobabilityhelpers.hpp | 193 - .../ql/termstructures/credit/flathazardrate.cpp | 57 - .../ql/termstructures/credit/flathazardrate.hpp | 78 - .../termstructures/credit/hazardratestructure.cpp | 84 - .../termstructures/credit/hazardratestructure.hpp | 112 - .../credit/interpolateddefaultdensitycurve.hpp | 269 - .../credit/interpolatedhazardratecurve.hpp | 268 - .../interpolatedsurvivalprobabilitycurve.hpp | 279 - .../credit/piecewisedefaultcurve.hpp | 287 - .../ql/termstructures/credit/probabilitytraits.hpp | 269 - .../credit/survivalprobabilitystructure.cpp | 57 - .../credit/survivalprobabilitystructure.hpp | 85 - .../ql/termstructures/defaulttermstructure.cpp | 128 - .../ql/termstructures/defaulttermstructure.hpp | 251 - .../include/ql/termstructures/globalbootstrap.hpp | 354 - .../ql/termstructures/globalbootstrapvars.cpp | 49 - .../ql/termstructures/globalbootstrapvars.hpp | 32 - .../ql/termstructures/inflation/Makefile.am | 52 - .../include/ql/termstructures/inflation/all.hpp | 11 - .../termstructures/inflation/inflationhelpers.cpp | 239 - .../termstructures/inflation/inflationhelpers.hpp | 123 - .../termstructures/inflation/inflationtraits.hpp | 178 - .../inflation/interpolatedyoyinflationcurve.hpp | 248 - .../inflation/interpolatedzeroinflationcurve.hpp | 176 - .../inflation/piecewiseyoyinflationcurve.hpp | 179 - .../inflation/piecewisezeroinflationcurve.hpp | 154 - .../ql/termstructures/inflation/seasonality.cpp | 279 - .../ql/termstructures/inflation/seasonality.hpp | 192 - .../ql/termstructures/inflationtermstructure.cpp | 373 - .../ql/termstructures/inflationtermstructure.hpp | 331 - .../ql/termstructures/interpolatedcurve.hpp | 142 - .../ql/termstructures/iterativebootstrap.hpp | 394 - .../include/ql/termstructures/localbootstrap.hpp | 299 - .../ql/termstructures/volatility/Makefile.am | 80 - .../include/ql/termstructures/volatility/abcd.cpp | 106 - .../include/ql/termstructures/volatility/abcd.hpp | 110 - .../termstructures/volatility/abcdcalibration.cpp | 212 - .../termstructures/volatility/abcdcalibration.hpp | 128 - .../include/ql/termstructures/volatility/all.hpp | 24 - .../volatility/atmadjustedsmilesection.cpp | 52 - .../volatility/atmadjustedsmilesection.hpp | 84 - .../termstructures/volatility/atmsmilesection.cpp | 32 - .../termstructures/volatility/atmsmilesection.hpp | 59 - .../termstructures/volatility/capfloor/Makefile.am | 50 - .../ql/termstructures/volatility/capfloor/all.hpp | 8 - .../capfloor/capfloortermvolatilitystructure.cpp | 44 - .../capfloor/capfloortermvolatilitystructure.hpp | 111 - .../volatility/capfloor/capfloortermvolcurve.cpp | 188 - .../volatility/capfloor/capfloortermvolcurve.hpp | 169 - .../volatility/capfloor/capfloortermvolsurface.cpp | 228 - .../volatility/capfloor/capfloortermvolsurface.hpp | 169 - .../capfloor/constantcapfloortermvol.cpp | 71 - .../capfloor/constantcapfloortermvol.hpp | 93 - .../termstructures/volatility/equityfx/Makefile.am | 70 - .../ql/termstructures/volatility/equityfx/all.hpp | 20 - .../equityfx/andreasenhugelocalvoladapter.cpp | 63 - .../equityfx/andreasenhugelocalvoladapter.hpp | 57 - .../equityfx/andreasenhugevolatilityadapter.cpp | 69 - .../equityfx/andreasenhugevolatilityadapter.hpp | 57 - .../equityfx/andreasenhugevolatilityinterpl.cpp | 633 - .../equityfx/andreasenhugevolatilityinterpl.hpp | 153 - .../volatility/equityfx/blackconstantvol.hpp | 140 - .../volatility/equityfx/blackvariancecurve.cpp | 74 - .../volatility/equityfx/blackvariancecurve.hpp | 114 - .../volatility/equityfx/blackvariancesurface.cpp | 87 - .../volatility/equityfx/blackvariancesurface.hpp | 111 - .../volatility/equityfx/blackvoltermstructure.cpp | 154 - .../volatility/equityfx/blackvoltermstructure.hpp | 292 - .../volatility/equityfx/fixedlocalvolsurface.cpp | 169 - .../volatility/equityfx/fixedlocalvolsurface.hpp | 96 - .../equityfx/gridmodellocalvolsurface.cpp | 102 - .../equityfx/gridmodellocalvolsurface.hpp | 69 - .../volatility/equityfx/hestonblackvolsurface.cpp | 109 - .../volatility/equityfx/hestonblackvolsurface.hpp | 61 - .../equityfx/impliedvoltermstructure.hpp | 115 - .../volatility/equityfx/localconstantvol.hpp | 123 - .../volatility/equityfx/localvolcurve.hpp | 100 - .../volatility/equityfx/localvolsurface.cpp | 158 - .../volatility/equityfx/localvolsurface.hpp | 81 - .../volatility/equityfx/localvoltermstructure.cpp | 65 - .../volatility/equityfx/localvoltermstructure.hpp | 93 - .../equityfx/noexceptlocalvolsurface.hpp | 67 - .../termstructures/volatility/flatsmilesection.cpp | 46 - .../termstructures/volatility/flatsmilesection.hpp | 80 - .../volatility/gaussian1dsmilesection.cpp | 108 - .../volatility/gaussian1dsmilesection.hpp | 77 - .../volatility/inflation/Makefile.am | 48 - .../ql/termstructures/volatility/inflation/all.hpp | 7 - .../volatility/inflation/constantcpivolatility.cpp | 55 - .../volatility/inflation/constantcpivolatility.hpp | 73 - .../inflation/cpivolatilitystructure.cpp | 158 - .../inflation/cpivolatilitystructure.hpp | 145 - .../yoyinflationoptionletvolatilitystructure.cpp | 229 - .../yoyinflationoptionletvolatilitystructure.hpp | 209 - .../volatility/interpolatedsmilesection.hpp | 226 - .../volatility/kahalesmilesection.cpp | 271 - .../volatility/kahalesmilesection.hpp | 179 - .../volatility/optionlet/Makefile.am | 61 - .../ql/termstructures/volatility/optionlet/all.hpp | 14 - .../volatility/optionlet/capletvariancecurve.hpp | 107 - .../volatility/optionlet/constantoptionletvol.cpp | 92 - .../volatility/optionlet/constantoptionletvol.hpp | 115 - .../volatility/optionlet/optionletstripper.cpp | 177 - .../volatility/optionlet/optionletstripper.hpp | 100 - .../volatility/optionlet/optionletstripper1.cpp | 206 - .../volatility/optionlet/optionletstripper1.hpp | 83 - .../volatility/optionlet/optionletstripper2.cpp | 188 - .../volatility/optionlet/optionletstripper2.hpp | 87 - .../optionlet/optionletvolatilitystructure.cpp | 44 - .../optionlet/optionletvolatilitystructure.hpp | 223 - .../volatility/optionlet/spreadedoptionletvol.cpp | 57 - .../volatility/optionlet/spreadedoptionletvol.hpp | 120 - .../volatility/optionlet/strippedoptionlet.cpp | 192 - .../volatility/optionlet/strippedoptionlet.hpp | 105 - .../optionlet/strippedoptionletadapter.cpp | 146 - .../optionlet/strippedoptionletadapter.hpp | 98 - .../volatility/optionlet/strippedoptionletbase.hpp | 66 - .../include/ql/termstructures/volatility/sabr.cpp | 402 - .../include/ql/termstructures/volatility/sabr.hpp | 134 - .../volatility/sabrinterpolatedsmilesection.cpp | 136 - .../volatility/sabrinterpolatedsmilesection.hpp | 202 - .../termstructures/volatility/sabrsmilesection.cpp | 77 - .../termstructures/volatility/sabrsmilesection.hpp | 68 - .../ql/termstructures/volatility/smilesection.cpp | 144 - .../ql/termstructures/volatility/smilesection.hpp | 119 - .../volatility/smilesectionutils.cpp | 218 - .../volatility/smilesectionutils.hpp | 58 - .../volatility/spreadedsmilesection.cpp | 37 - .../volatility/spreadedsmilesection.hpp | 98 - .../termstructures/volatility/swaption/Makefile.am | 64 - .../ql/termstructures/volatility/swaption/all.hpp | 15 - .../volatility/swaption/cmsmarket.cpp | 264 - .../volatility/swaption/cmsmarket.hpp | 117 - .../volatility/swaption/cmsmarketcalibration.cpp | 576 - .../volatility/swaption/cmsmarketcalibration.hpp | 98 - .../swaption/gaussian1dswaptionvolatility.cpp | 72 - .../swaption/gaussian1dswaptionvolatility.hpp | 91 - .../interpolatedswaptionvolatilitycube.cpp | 115 - .../interpolatedswaptionvolatilitycube.hpp | 80 - .../swaption/sabrswaptionvolatilitycube.hpp | 1182 - .../volatility/swaption/spreadedswaptionvol.cpp | 67 - .../volatility/swaption/spreadedswaptionvol.hpp | 126 - .../volatility/swaption/swaptionconstantvol.cpp | 111 - .../volatility/swaption/swaptionconstantvol.hpp | 132 - .../volatility/swaption/swaptionvolcube.cpp | 146 - .../volatility/swaption/swaptionvolcube.hpp | 138 - .../volatility/swaption/swaptionvoldiscrete.cpp | 197 - .../volatility/swaption/swaptionvoldiscrete.hpp | 126 - .../volatility/swaption/swaptionvolmatrix.cpp | 329 - .../volatility/swaption/swaptionvolmatrix.hpp | 210 - .../volatility/swaption/swaptionvolstructure.cpp | 90 - .../volatility/swaption/swaptionvolstructure.hpp | 491 - .../termstructures/volatility/volatilitytype.hpp | 49 - .../include/ql/termstructures/voltermstructure.cpp | 48 - .../include/ql/termstructures/voltermstructure.hpp | 92 - .../include/ql/termstructures/yield/Makefile.am | 75 - install/include/ql/termstructures/yield/all.hpp | 27 - .../ql/termstructures/yield/bondhelpers.cpp | 158 - .../ql/termstructures/yield/bondhelpers.hpp | 143 - .../ql/termstructures/yield/bootstraptraits.hpp | 410 - .../yield/compositezeroyieldstructure.hpp | 143 - .../ql/termstructures/yield/discountcurve.hpp | 265 - .../yield/fittedbonddiscountcurve.cpp | 339 - .../yield/fittedbonddiscountcurve.hpp | 374 - .../ql/termstructures/yield/flatforward.cpp | 67 - .../ql/termstructures/yield/flatforward.hpp | 114 - .../ql/termstructures/yield/forwardcurve.hpp | 268 - .../yield/forwardspreadedtermstructure.hpp | 131 - .../ql/termstructures/yield/forwardstructure.cpp | 58 - .../ql/termstructures/yield/forwardstructure.hpp | 113 - .../termstructures/yield/impliedtermstructure.hpp | 107 - .../yield/interpolatedsimplezerocurve.hpp | 196 - .../yield/nonlinearfittingmethods.cpp | 359 - .../yield/nonlinearfittingmethods.hpp | 263 - .../ql/termstructures/yield/oisratehelper.cpp | 279 - .../ql/termstructures/yield/oisratehelper.hpp | 195 - .../yield/overnightindexfutureratehelper.cpp | 126 - .../yield/overnightindexfutureratehelper.hpp | 85 - .../piecewiseforwardspreadedtermstructure.hpp | 207 - .../termstructures/yield/piecewiseyieldcurve.hpp | 254 - .../yield/piecewisezerospreadedtermstructure.hpp | 195 - .../termstructures/yield/quantotermstructure.hpp | 137 - .../ql/termstructures/yield/ratehelpers.cpp | 829 - .../ql/termstructures/yield/ratehelpers.hpp | 434 - .../yield/ultimateforwardtermstructure.hpp | 176 - .../include/ql/termstructures/yield/zerocurve.hpp | 282 - .../yield/zerospreadedtermstructure.hpp | 150 - .../ql/termstructures/yield/zeroyieldstructure.cpp | 45 - .../ql/termstructures/yield/zeroyieldstructure.hpp | 100 - .../ql/termstructures/yieldtermstructure.cpp | 197 - .../ql/termstructures/yieldtermstructure.hpp | 208 - install/include/ql/time/Makefile.am | 74 - install/include/ql/time/all.hpp | 19 - install/include/ql/time/asx.cpp | 164 - install/include/ql/time/asx.hpp | 100 - install/include/ql/time/businessdayconvention.cpp | 51 - install/include/ql/time/businessdayconvention.hpp | 78 - install/include/ql/time/calendar.cpp | 304 - install/include/ql/time/calendar.hpp | 289 - install/include/ql/time/calendars/Makefile.am | 132 - install/include/ql/time/calendars/all.hpp | 49 - install/include/ql/time/calendars/argentina.cpp | 68 - install/include/ql/time/calendars/argentina.hpp | 71 - install/include/ql/time/calendars/australia.cpp | 110 - install/include/ql/time/calendars/australia.hpp | 73 - install/include/ql/time/calendars/austria.cpp | 119 - install/include/ql/time/calendars/austria.hpp | 95 - .../include/ql/time/calendars/bespokecalendar.cpp | 56 - .../include/ql/time/calendars/bespokecalendar.hpp | 67 - install/include/ql/time/calendars/botswana.cpp | 72 - install/include/ql/time/calendars/botswana.hpp | 74 - install/include/ql/time/calendars/brazil.cpp | 130 - install/include/ql/time/calendars/brazil.hpp | 102 - install/include/ql/time/calendars/canada.cpp | 119 - install/include/ql/time/calendars/canada.hpp | 95 - install/include/ql/time/calendars/chile.cpp | 121 - install/include/ql/time/calendars/chile.hpp | 76 - install/include/ql/time/calendars/china.cpp | 377 - install/include/ql/time/calendars/china.hpp | 88 - .../include/ql/time/calendars/czechrepublic.cpp | 72 - .../include/ql/time/calendars/czechrepublic.hpp | 68 - install/include/ql/time/calendars/denmark.cpp | 69 - install/include/ql/time/calendars/denmark.hpp | 70 - install/include/ql/time/calendars/finland.cpp | 64 - install/include/ql/time/calendars/finland.hpp | 65 - install/include/ql/time/calendars/france.cpp | 109 - install/include/ql/time/calendars/france.hpp | 89 - install/include/ql/time/calendars/germany.cpp | 199 - install/include/ql/time/calendars/germany.hpp | 154 - install/include/ql/time/calendars/hongkong.cpp | 419 - install/include/ql/time/calendars/hongkong.hpp | 79 - install/include/ql/time/calendars/hungary.cpp | 64 - install/include/ql/time/calendars/hungary.hpp | 65 - install/include/ql/time/calendars/iceland.cpp | 66 - install/include/ql/time/calendars/iceland.hpp | 69 - install/include/ql/time/calendars/india.cpp | 492 - install/include/ql/time/calendars/india.hpp | 86 - install/include/ql/time/calendars/indonesia.cpp | 283 - install/include/ql/time/calendars/indonesia.hpp | 80 - install/include/ql/time/calendars/israel.cpp | 494 - install/include/ql/time/calendars/israel.hpp | 76 - install/include/ql/time/calendars/italy.cpp | 111 - install/include/ql/time/calendars/italy.hpp | 93 - install/include/ql/time/calendars/japan.cpp | 154 - install/include/ql/time/calendars/japan.hpp | 77 - .../include/ql/time/calendars/jointcalendar.cpp | 154 - .../include/ql/time/calendars/jointcalendar.hpp | 92 - install/include/ql/time/calendars/mexico.cpp | 70 - install/include/ql/time/calendars/mexico.hpp | 73 - install/include/ql/time/calendars/newzealand.cpp | 126 - install/include/ql/time/calendars/newzealand.hpp | 91 - install/include/ql/time/calendars/norway.cpp | 64 - install/include/ql/time/calendars/norway.hpp | 65 - install/include/ql/time/calendars/nullcalendar.hpp | 55 - install/include/ql/time/calendars/poland.cpp | 90 - install/include/ql/time/calendars/poland.hpp | 75 - install/include/ql/time/calendars/romania.cpp | 95 - install/include/ql/time/calendars/romania.hpp | 81 - install/include/ql/time/calendars/russia.cpp | 262 - install/include/ql/time/calendars/russia.hpp | 81 - install/include/ql/time/calendars/saudiarabia.cpp | 165 - install/include/ql/time/calendars/saudiarabia.hpp | 67 - install/include/ql/time/calendars/singapore.cpp | 224 - install/include/ql/time/calendars/singapore.hpp | 76 - install/include/ql/time/calendars/slovakia.cpp | 75 - install/include/ql/time/calendars/slovakia.hpp | 72 - install/include/ql/time/calendars/southafrica.cpp | 91 - install/include/ql/time/calendars/southafrica.hpp | 72 - install/include/ql/time/calendars/southkorea.cpp | 298 - install/include/ql/time/calendars/southkorea.hpp | 100 - install/include/ql/time/calendars/sweden.cpp | 69 - install/include/ql/time/calendars/sweden.hpp | 67 - install/include/ql/time/calendars/switzerland.cpp | 62 - install/include/ql/time/calendars/switzerland.hpp | 64 - install/include/ql/time/calendars/taiwan.cpp | 466 - install/include/ql/time/calendars/taiwan.hpp | 73 - install/include/ql/time/calendars/target.cpp | 57 - install/include/ql/time/calendars/target.hpp | 64 - install/include/ql/time/calendars/thailand.cpp | 311 - install/include/ql/time/calendars/thailand.hpp | 83 - install/include/ql/time/calendars/turkey.cpp | 263 - install/include/ql/time/calendars/turkey.hpp | 69 - install/include/ql/time/calendars/ukraine.cpp | 65 - install/include/ql/time/calendars/ukraine.hpp | 69 - .../include/ql/time/calendars/unitedkingdom.cpp | 164 - .../include/ql/time/calendars/unitedkingdom.hpp | 120 - install/include/ql/time/calendars/unitedstates.cpp | 404 - install/include/ql/time/calendars/unitedstates.hpp | 212 - install/include/ql/time/calendars/weekendsonly.cpp | 35 - install/include/ql/time/calendars/weekendsonly.hpp | 52 - install/include/ql/time/date.cpp | 1006 - install/include/ql/time/date.hpp | 477 - install/include/ql/time/dategenerationrule.cpp | 54 - install/include/ql/time/dategenerationrule.hpp | 78 - install/include/ql/time/daycounter.hpp | 150 - install/include/ql/time/daycounters/Makefile.am | 62 - install/include/ql/time/daycounters/actual360.hpp | 67 - install/include/ql/time/daycounters/actual364.hpp | 50 - .../include/ql/time/daycounters/actual36525.hpp | 66 - .../include/ql/time/daycounters/actual365fixed.cpp | 101 - .../include/ql/time/daycounters/actual365fixed.hpp | 84 - install/include/ql/time/daycounters/actual366.hpp | 66 - .../include/ql/time/daycounters/actualactual.cpp | 343 - .../include/ql/time/daycounters/actualactual.hpp | 98 - install/include/ql/time/daycounters/all.hpp | 16 - .../include/ql/time/daycounters/business252.cpp | 144 - .../include/ql/time/daycounters/business252.hpp | 56 - install/include/ql/time/daycounters/one.hpp | 55 - .../ql/time/daycounters/simpledaycounter.cpp | 54 - .../ql/time/daycounters/simpledaycounter.hpp | 63 - install/include/ql/time/daycounters/thirty360.cpp | 143 - install/include/ql/time/daycounters/thirty360.hpp | 140 - install/include/ql/time/daycounters/thirty365.cpp | 36 - install/include/ql/time/daycounters/thirty365.hpp | 50 - .../ql/time/daycounters/yearfractiontodate.cpp | 64 - .../ql/time/daycounters/yearfractiontodate.hpp | 36 - install/include/ql/time/ecb.cpp | 315 - install/include/ql/time/ecb.hpp | 101 - install/include/ql/time/frequency.cpp | 62 - install/include/ql/time/frequency.hpp | 58 - install/include/ql/time/imm.cpp | 209 - install/include/ql/time/imm.hpp | 103 - install/include/ql/time/period.cpp | 452 - install/include/ql/time/period.hpp | 184 - install/include/ql/time/schedule.cpp | 652 - install/include/ql/time/schedule.hpp | 245 - install/include/ql/time/timeunit.cpp | 53 - install/include/ql/time/timeunit.hpp | 54 - install/include/ql/time/weekday.cpp | 122 - install/include/ql/time/weekday.hpp | 101 - install/include/ql/timegrid.cpp | 98 - install/include/ql/timegrid.hpp | 187 - install/include/ql/timeseries.hpp | 264 - install/include/ql/tuple.hpp | 57 - install/include/ql/types.hpp | 87 - install/include/ql/userconfig.hpp | 164 - install/include/ql/utilities/Makefile.am | 56 - install/include/ql/utilities/all.hpp | 14 - install/include/ql/utilities/clone.hpp | 130 - install/include/ql/utilities/dataformatters.cpp | 58 - install/include/ql/utilities/dataformatters.hpp | 189 - install/include/ql/utilities/dataparsers.cpp | 116 - install/include/ql/utilities/dataparsers.hpp | 57 - install/include/ql/utilities/null.hpp | 80 - install/include/ql/utilities/null_deleter.hpp | 35 - install/include/ql/utilities/observablevalue.hpp | 123 - install/include/ql/utilities/steppingiterator.hpp | 178 - install/include/ql/utilities/tracing.cpp | 27 - install/include/ql/utilities/tracing.hpp | 277 - install/include/ql/utilities/variants.hpp | 19 - install/include/ql/utilities/vectors.hpp | 48 - install/include/ql/version.cpp | 43 - install/include/ql/version.hpp | 52 - install/include/ql/volatilitymodel.hpp | 52 - 2481 files changed, 439464 deletions(-) commit bfbe6cc7c1eb0263137768443b7a6347bb9d95d5 Author: wday0507 Date: Fri, 25 Jul 2025 08:35:28 +0100 Final changes to soft barrier option instrument / pricing ql/instruments/softbarrieroption.cpp | 5 +- ql/instruments/softbarrieroption.hpp | 13 +- ql/instruments/softbarriertype.hpp | 2 +- .../barrier/analyticsoftbarrierengine.cpp | 87 ++------ .../barrier/analyticsoftbarrierengine.hpp | 11 +- test-suite/CMakeLists.txt | 7 + test-suite/softbarrieroption.cpp | 220 ++++++++++++--------- 7 files changed, 160 insertions(+), 185 deletions(-) commit d7613fa02dc01449d5ef8eeca0f29a6f6ecc629a Author: wday0507 Date: Mon, 21 Jul 2025 17:20:08 +0100 Ongoing edits to soft barrier pricing logic install/include/ql/CMakeLists.txt | 2477 + install/include/ql/Makefile.am | 182 + install/include/ql/any.hpp | 49 + install/include/ql/auto_link.hpp | 64 + install/include/ql/cashflow.cpp | 71 + install/include/ql/cashflow.hpp | 90 + install/include/ql/cashflows/Makefile.am | 111 + install/include/ql/cashflows/all.hpp | 38 + install/include/ql/cashflows/averagebmacoupon.cpp | 254 + install/include/ql/cashflows/averagebmacoupon.hpp | 108 + install/include/ql/cashflows/capflooredcoupon.cpp | 145 + install/include/ql/cashflows/capflooredcoupon.hpp | 169 + .../ql/cashflows/capflooredinflationcoupon.cpp | 152 + .../ql/cashflows/capflooredinflationcoupon.hpp | 166 + install/include/ql/cashflows/cashflows.cpp | 1258 + install/include/ql/cashflows/cashflows.hpp | 454 + install/include/ql/cashflows/cashflowvectors.cpp | 55 + install/include/ql/cashflows/cashflowvectors.hpp | 274 + install/include/ql/cashflows/cmscoupon.cpp | 164 + install/include/ql/cashflows/cmscoupon.hpp | 113 + install/include/ql/cashflows/conundrumpricer.cpp | 987 + install/include/ql/cashflows/conundrumpricer.hpp | 331 + install/include/ql/cashflows/coupon.cpp | 88 + install/include/ql/cashflows/coupon.hpp | 122 + install/include/ql/cashflows/couponpricer.cpp | 480 + install/include/ql/cashflows/couponpricer.hpp | 241 + install/include/ql/cashflows/cpicoupon.cpp | 354 + install/include/ql/cashflows/cpicoupon.hpp | 294 + install/include/ql/cashflows/cpicouponpricer.cpp | 144 + install/include/ql/cashflows/cpicouponpricer.hpp | 97 + install/include/ql/cashflows/digitalcmscoupon.cpp | 205 + install/include/ql/cashflows/digitalcmscoupon.hpp | 112 + install/include/ql/cashflows/digitalcoupon.cpp | 333 + install/include/ql/cashflows/digitalcoupon.hpp | 191 + install/include/ql/cashflows/digitaliborcoupon.cpp | 205 + install/include/ql/cashflows/digitaliborcoupon.hpp | 112 + install/include/ql/cashflows/dividend.cpp | 54 + install/include/ql/cashflows/dividend.hpp | 108 + install/include/ql/cashflows/duration.cpp | 42 + install/include/ql/cashflows/duration.hpp | 45 + install/include/ql/cashflows/equitycashflow.cpp | 135 + install/include/ql/cashflows/equitycashflow.hpp | 107 + install/include/ql/cashflows/fixedratecoupon.cpp | 277 + install/include/ql/cashflows/fixedratecoupon.hpp | 140 + .../include/ql/cashflows/floatingratecoupon.cpp | 105 + .../include/ql/cashflows/floatingratecoupon.hpp | 155 + install/include/ql/cashflows/iborcoupon.cpp | 289 + install/include/ql/cashflows/iborcoupon.hpp | 186 + install/include/ql/cashflows/indexedcashflow.cpp | 53 + install/include/ql/cashflows/indexedcashflow.hpp | 98 + install/include/ql/cashflows/inflationcoupon.cpp | 104 + install/include/ql/cashflows/inflationcoupon.hpp | 132 + .../include/ql/cashflows/inflationcouponpricer.cpp | 213 + .../include/ql/cashflows/inflationcouponpricer.hpp | 209 + install/include/ql/cashflows/lineartsrpricer.cpp | 437 + install/include/ql/cashflows/lineartsrpricer.hpp | 252 + .../include/ql/cashflows/multipleresetscoupon.cpp | 502 + .../include/ql/cashflows/multipleresetscoupon.hpp | 265 + .../ql/cashflows/overnightindexedcoupon.cpp | 340 + .../ql/cashflows/overnightindexedcoupon.hpp | 159 + .../ql/cashflows/overnightindexedcouponpricer.cpp | 280 + .../ql/cashflows/overnightindexedcouponpricer.hpp | 91 + install/include/ql/cashflows/rangeaccrual.cpp | 698 + install/include/ql/cashflows/rangeaccrual.hpp | 234 + install/include/ql/cashflows/rateaveraging.hpp | 52 + install/include/ql/cashflows/replication.cpp | 43 + install/include/ql/cashflows/replication.hpp | 57 + install/include/ql/cashflows/simplecashflow.cpp | 34 + install/include/ql/cashflows/simplecashflow.hpp | 116 + install/include/ql/cashflows/subperiodcoupon.hpp | 29 + install/include/ql/cashflows/timebasket.cpp | 77 + install/include/ql/cashflows/timebasket.hpp | 98 + .../include/ql/cashflows/yoyinflationcoupon.cpp | 260 + .../include/ql/cashflows/yoyinflationcoupon.hpp | 164 + .../include/ql/cashflows/zeroinflationcashflow.cpp | 57 + .../include/ql/cashflows/zeroinflationcashflow.hpp | 82 + install/include/ql/compounding.hpp | 57 + install/include/ql/config.ansi.hpp | 27 + install/include/ql/config.hpp.cfg | 46 + install/include/ql/config.mingw.hpp | 27 + install/include/ql/config.msvc.hpp | 69 + install/include/ql/config.sun.hpp | 44 + install/include/ql/currencies/Makefile.am | 57 + install/include/ql/currencies/africa.cpp | 110 + install/include/ql/currencies/africa.hpp | 187 + install/include/ql/currencies/all.hpp | 11 + install/include/ql/currencies/america.cpp | 165 + install/include/ql/currencies/america.hpp | 223 + install/include/ql/currencies/asia.cpp | 259 + install/include/ql/currencies/asia.hpp | 340 + install/include/ql/currencies/crypto.cpp | 94 + install/include/ql/currencies/crypto.hpp | 123 + install/include/ql/currencies/europe.cpp | 391 + install/include/ql/currencies/europe.hpp | 536 + .../include/ql/currencies/exchangeratemanager.cpp | 203 + .../include/ql/currencies/exchangeratemanager.hpp | 102 + install/include/ql/currencies/oceania.cpp | 47 + install/include/ql/currencies/oceania.hpp | 67 + install/include/ql/currency.cpp | 65 + install/include/ql/currency.hpp | 191 + install/include/ql/default.hpp | 38 + install/include/ql/discretizedasset.cpp | 54 + install/include/ql/discretizedasset.hpp | 248 + install/include/ql/errors.cpp | 102 + install/include/ql/errors.hpp | 142 + install/include/ql/event.cpp | 49 + install/include/ql/event.hpp | 83 + install/include/ql/exchangerate.cpp | 79 + install/include/ql/exchangerate.hpp | 108 + install/include/ql/exercise.cpp | 65 + install/include/ql/exercise.hpp | 104 + install/include/ql/experimental/Makefile.am | 53 + install/include/ql/experimental/all.hpp | 29 + install/include/ql/experimental/asian/Makefile.am | 47 + install/include/ql/experimental/asian/all.hpp | 6 + .../asian/analytic_cont_geom_av_price_heston.cpp | 287 + .../asian/analytic_cont_geom_av_price_heston.hpp | 133 + .../asian/analytic_discr_geom_av_price_heston.cpp | 312 + .../asian/analytic_discr_geom_av_price_heston.hpp | 142 + .../include/ql/experimental/averageois/Makefile.am | 50 + install/include/ql/experimental/averageois/all.hpp | 7 + .../averageois/arithmeticaverageois.cpp | 150 + .../averageois/arithmeticaverageois.hpp | 117 + .../averageois/arithmeticoisratehelper.cpp | 113 + .../averageois/arithmeticoisratehelper.hpp | 91 + .../averageois/averageoiscouponpricer.hpp | 28 + .../averageois/makearithmeticaverageois.cpp | 241 + .../averageois/makearithmeticaverageois.hpp | 105 + .../ql/experimental/barrieroption/Makefile.am | 58 + .../include/ql/experimental/barrieroption/all.hpp | 13 + .../barrieroption/binomialdoublebarrierengine.hpp | 171 + .../discretizeddoublebarrieroption.cpp | 232 + .../discretizeddoublebarrieroption.hpp | 95 + .../barrieroption/mcdoublebarrierengine.cpp | 98 + .../barrieroption/mcdoublebarrierengine.hpp | 295 + .../perturbativebarrieroptionengine.cpp | 1550 + .../perturbativebarrieroptionengine.hpp | 57 + .../barrieroption/quantodoublebarrieroption.cpp | 70 + .../barrieroption/quantodoublebarrieroption.hpp | 64 + .../barrieroption/suowangdoublebarrierengine.cpp | 171 + .../barrieroption/suowangdoublebarrierengine.hpp | 67 + .../barrieroption/vannavolgabarrierengine.cpp | 363 + .../barrieroption/vannavolgabarrierengine.hpp | 68 + .../vannavolgadoublebarrierengine.hpp | 422 + .../barrieroption/vannavolgainterpolation.hpp | 155 + .../ql/experimental/basismodels/Makefile.am | 49 + .../include/ql/experimental/basismodels/all.hpp | 7 + .../ql/experimental/basismodels/swaptioncfs.cpp | 134 + .../ql/experimental/basismodels/swaptioncfs.hpp | 94 + .../experimental/basismodels/tenoroptionletvts.cpp | 110 + .../experimental/basismodels/tenoroptionletvts.hpp | 137 + .../experimental/basismodels/tenorswaptionvts.cpp | 138 + .../experimental/basismodels/tenorswaptionvts.hpp | 129 + .../ql/experimental/callablebonds/Makefile.am | 55 + .../include/ql/experimental/callablebonds/all.hpp | 10 + .../callablebonds/blackcallablebondengine.cpp | 177 + .../callablebonds/blackcallablebondengine.hpp | 93 + .../ql/experimental/callablebonds/callablebond.cpp | 536 + .../ql/experimental/callablebonds/callablebond.hpp | 236 + .../callablebonds/callablebondconstantvol.cpp | 82 + .../callablebonds/callablebondconstantvol.hpp | 98 + .../callablebonds/callablebondvolstructure.cpp | 79 + .../callablebonds/callablebondvolstructure.hpp | 256 + .../discretizedcallablefixedratebond.cpp | 191 + .../discretizedcallablefixedratebond.hpp | 57 + .../callablebonds/treecallablebondengine.cpp | 90 + .../callablebonds/treecallablebondengine.hpp | 82 + .../include/ql/experimental/catbonds/Makefile.am | 51 + install/include/ql/experimental/catbonds/all.hpp | 8 + .../include/ql/experimental/catbonds/catbond.cpp | 168 + .../include/ql/experimental/catbonds/catbond.hpp | 137 + .../include/ql/experimental/catbonds/catrisk.cpp | 135 + .../include/ql/experimental/catbonds/catrisk.hpp | 133 + .../catbonds/montecarlocatbondengine.cpp | 136 + .../catbonds/montecarlocatbondengine.hpp | 66 + .../ql/experimental/catbonds/riskynotional.cpp | 59 + .../ql/experimental/catbonds/riskynotional.hpp | 123 + .../ql/experimental/commodities/Makefile.am | 84 + .../include/ql/experimental/commodities/all.hpp | 26 + .../ql/experimental/commodities/commodity.cpp | 98 + .../ql/experimental/commodities/commodity.hpp | 80 + .../experimental/commodities/commoditycashflow.cpp | 63 + .../experimental/commodities/commoditycashflow.hpp | 96 + .../ql/experimental/commodities/commoditycurve.cpp | 107 + .../ql/experimental/commodities/commoditycurve.hpp | 228 + .../ql/experimental/commodities/commodityindex.cpp | 61 + .../ql/experimental/commodities/commodityindex.hpp | 218 + .../commodities/commoditypricinghelpers.cpp | 65 + .../commodities/commoditypricinghelpers.hpp | 118 + .../experimental/commodities/commoditysettings.cpp | 38 + .../experimental/commodities/commoditysettings.hpp | 51 + .../ql/experimental/commodities/commoditytype.cpp | 48 + .../ql/experimental/commodities/commoditytype.hpp | 118 + .../experimental/commodities/commodityunitcost.cpp | 33 + .../experimental/commodities/commodityunitcost.hpp | 52 + .../ql/experimental/commodities/dateinterval.cpp | 30 + .../ql/experimental/commodities/dateinterval.hpp | 83 + .../experimental/commodities/energybasisswap.cpp | 310 + .../experimental/commodities/energybasisswap.hpp | 74 + .../experimental/commodities/energycommodity.cpp | 172 + .../experimental/commodities/energycommodity.hpp | 138 + .../ql/experimental/commodities/energyfuture.cpp | 119 + .../ql/experimental/commodities/energyfuture.hpp | 58 + .../ql/experimental/commodities/energyswap.cpp | 58 + .../ql/experimental/commodities/energyswap.hpp | 69 + .../experimental/commodities/energyvanillaswap.cpp | 270 + .../experimental/commodities/energyvanillaswap.hpp | 75 + .../experimental/commodities/exchangecontract.hpp | 79 + .../ql/experimental/commodities/paymentterm.cpp | 50 + .../ql/experimental/commodities/paymentterm.hpp | 124 + .../commodities/petroleumunitsofmeasure.hpp | 102 + .../ql/experimental/commodities/pricingperiod.hpp | 54 + .../ql/experimental/commodities/quantity.cpp | 208 + .../ql/experimental/commodities/quantity.hpp | 208 + .../ql/experimental/commodities/unitofmeasure.cpp | 59 + .../ql/experimental/commodities/unitofmeasure.hpp | 150 + .../commodities/unitofmeasureconversion.cpp | 125 + .../commodities/unitofmeasureconversion.hpp | 134 + .../commodities/unitofmeasureconversionmanager.cpp | 209 + .../commodities/unitofmeasureconversionmanager.hpp | 66 + .../include/ql/experimental/coupons/Makefile.am | 57 + install/include/ql/experimental/coupons/all.hpp | 11 + .../ql/experimental/coupons/cmsspreadcoupon.cpp | 145 + .../ql/experimental/coupons/cmsspreadcoupon.hpp | 162 + .../coupons/digitalcmsspreadcoupon.cpp | 204 + .../coupons/digitalcmsspreadcoupon.hpp | 110 + .../coupons/lognormalcmsspreadpricer.cpp | 346 + .../coupons/lognormalcmsspreadpricer.hpp | 126 + .../include/ql/experimental/coupons/proxyibor.cpp | 47 + .../include/ql/experimental/coupons/proxyibor.hpp | 62 + .../ql/experimental/coupons/quantocouponpricer.cpp | 67 + .../ql/experimental/coupons/quantocouponpricer.hpp | 57 + .../coupons/strippedcapflooredcoupon.cpp | 132 + .../coupons/strippedcapflooredcoupon.hpp | 85 + .../ql/experimental/coupons/swapspreadindex.cpp | 85 + .../ql/experimental/coupons/swapspreadindex.hpp | 85 + install/include/ql/experimental/credit/Makefile.am | 114 + install/include/ql/experimental/credit/all.hpp | 48 + .../credit/basecorrelationlossmodel.hpp | 294 + .../credit/basecorrelationstructure.cpp | 49 + .../credit/basecorrelationstructure.hpp | 202 + install/include/ql/experimental/credit/basket.cpp | 377 + install/include/ql/experimental/credit/basket.hpp | 370 + .../ql/experimental/credit/binomiallossmodel.hpp | 419 + .../experimental/credit/blackcdsoptionengine.cpp | 90 + .../experimental/credit/blackcdsoptionengine.hpp | 54 + install/include/ql/experimental/credit/cdo.cpp | 208 + install/include/ql/experimental/credit/cdo.hpp | 186 + .../include/ql/experimental/credit/cdsoption.cpp | 156 + .../include/ql/experimental/credit/cdsoption.hpp | 112 + .../credit/constantlosslatentmodel.hpp | 168 + .../experimental/credit/correlationstructure.cpp | 39 + .../experimental/credit/correlationstructure.hpp | 90 + .../ql/experimental/credit/defaultevent.cpp | 231 + .../ql/experimental/credit/defaultevent.hpp | 246 + .../ql/experimental/credit/defaultlossmodel.hpp | 163 + .../experimental/credit/defaultprobabilitykey.cpp | 97 + .../experimental/credit/defaultprobabilitykey.hpp | 85 + .../credit/defaultprobabilitylatentmodel.hpp | 328 + .../include/ql/experimental/credit/defaulttype.cpp | 41 + .../include/ql/experimental/credit/defaulttype.hpp | 187 + .../ql/experimental/credit/distribution.cpp | 344 + .../ql/experimental/credit/distribution.hpp | 137 + .../credit/factorspreadedhazardratecurve.hpp | 96 + .../experimental/credit/gaussianlhplossmodel.cpp | 205 + .../experimental/credit/gaussianlhplossmodel.hpp | 218 + .../ql/experimental/credit/homogeneouspooldef.hpp | 166 + .../experimental/credit/inhomogeneouspooldef.hpp | 175 + .../ql/experimental/credit/integralcdoengine.cpp | 131 + .../ql/experimental/credit/integralcdoengine.hpp | 52 + .../ql/experimental/credit/integralntdengine.cpp | 186 + .../ql/experimental/credit/integralntdengine.hpp | 44 + .../credit/interpolatedaffinehazardratecurve.hpp | 446 + install/include/ql/experimental/credit/issuer.cpp | 99 + install/include/ql/experimental/credit/issuer.hpp | 103 + install/include/ql/experimental/credit/loss.hpp | 52 + .../ql/experimental/credit/lossdistribution.cpp | 324 + .../ql/experimental/credit/lossdistribution.hpp | 214 + .../ql/experimental/credit/midpointcdoengine.cpp | 128 + .../ql/experimental/credit/midpointcdoengine.hpp | 60 + .../ql/experimental/credit/nthtodefault.cpp | 158 + .../ql/experimental/credit/nthtodefault.hpp | 171 + .../credit/onefactoraffinesurvival.hpp | 176 + .../ql/experimental/credit/onefactorcopula.cpp | 160 + .../ql/experimental/credit/onefactorcopula.hpp | 288 + .../credit/onefactorgaussiancopula.cpp | 66 + .../credit/onefactorgaussiancopula.hpp | 82 + .../experimental/credit/onefactorstudentcopula.cpp | 273 + .../experimental/credit/onefactorstudentcopula.hpp | 198 + install/include/ql/experimental/credit/pool.cpp | 87 + install/include/ql/experimental/credit/pool.hpp | 61 + .../credit/randomdefaultlatentmodel.hpp | 998 + .../ql/experimental/credit/randomdefaultmodel.cpp | 96 + .../ql/experimental/credit/randomdefaultmodel.hpp | 82 + .../experimental/credit/randomlosslatentmodel.hpp | 261 + .../ql/experimental/credit/recoveryratemodel.cpp | 35 + .../ql/experimental/credit/recoveryratemodel.hpp | 87 + .../ql/experimental/credit/recoveryratequote.cpp | 59 + .../ql/experimental/credit/recoveryratequote.hpp | 106 + .../ql/experimental/credit/recursivelossmodel.hpp | 494 + .../ql/experimental/credit/riskyassetswap.cpp | 263 + .../ql/experimental/credit/riskyassetswap.hpp | 132 + .../experimental/credit/riskyassetswapoption.cpp | 56 + .../experimental/credit/riskyassetswapoption.hpp | 51 + .../experimental/credit/saddlepointlossmodel.hpp | 1365 + .../ql/experimental/credit/spotlosslatentmodel.hpp | 379 + .../credit/spreadedhazardratecurve.hpp | 98 + .../ql/experimental/credit/syntheticcdo.cpp | 262 + .../ql/experimental/credit/syntheticcdo.hpp | 233 + .../ql/experimental/exoticoptions/Makefile.am | 85 + .../include/ql/experimental/exoticoptions/all.hpp | 13 + .../analyticholderextensibleoptionengine.hpp | 28 + .../analyticpartialtimebarrieroptionengine.hpp | 28 + .../exoticoptions/analyticpdfhestonengine.hpp | 29 + .../analytictwoassetbarrierengine.hpp | 28 + .../analytictwoassetcorrelationengine.hpp | 28 + .../analyticwriterextensibleoptionengine.hpp | 28 + .../continuousarithmeticasianlevyengine.hpp | 28 + .../continuousarithmeticasianvecerengine.cpp | 241 + .../continuousarithmeticasianvecerengine.hpp | 63 + .../experimental/exoticoptions/everestoption.cpp | 72 + .../experimental/exoticoptions/everestoption.hpp | 72 + .../experimental/exoticoptions/himalayaoption.cpp | 49 + .../experimental/exoticoptions/himalayaoption.hpp | 72 + .../exoticoptions/holderextensibleoption.hpp | 28 + .../exoticoptions/kirkspreadoptionengine.cpp | 108 + .../exoticoptions/kirkspreadoptionengine.hpp | 54 + .../experimental/exoticoptions/mceverestengine.cpp | 47 + .../experimental/exoticoptions/mceverestengine.hpp | 300 + .../exoticoptions/mchimalayaengine.cpp | 65 + .../exoticoptions/mchimalayaengine.hpp | 247 + .../experimental/exoticoptions/mcpagodaengine.cpp | 48 + .../experimental/exoticoptions/mcpagodaengine.hpp | 250 + .../ql/experimental/exoticoptions/pagodaoption.cpp | 57 + .../ql/experimental/exoticoptions/pagodaoption.hpp | 77 + .../exoticoptions/partialtimebarrieroption.hpp | 28 + .../ql/experimental/exoticoptions/spreadoption.hpp | 57 + .../exoticoptions/twoassetbarrieroption.hpp | 29 + .../exoticoptions/twoassetcorrelationoption.hpp | 28 + .../exoticoptions/writerextensibleoption.hpp | 28 + .../ql/experimental/finitedifferences/Makefile.am | 85 + .../ql/experimental/finitedifferences/all.hpp | 28 + .../dynprogvppintrinsicvalueengine.cpp | 112 + .../dynprogvppintrinsicvalueengine.hpp | 55 + .../finitedifferences/fdextoujumpvanillaengine.cpp | 99 + .../finitedifferences/fdextoujumpvanillaengine.hpp | 62 + .../finitedifferences/fdklugeextouspreadengine.cpp | 124 + .../finitedifferences/fdklugeextouspreadengine.hpp | 71 + .../finitedifferences/fdmdupire1dop.cpp | 66 + .../finitedifferences/fdmdupire1dop.hpp | 59 + .../fdmexpextouinnervaluecalculator.hpp | 69 + .../fdmextendedornsteinuhlenbeckop.cpp | 100 + .../fdmextendedornsteinuhlenbeckop.hpp | 74 + .../fdmextoujumpmodelinnervalue.hpp | 67 + .../finitedifferences/fdmextoujumpop.cpp | 162 + .../finitedifferences/fdmextoujumpop.hpp | 83 + .../finitedifferences/fdmextoujumpsolver.cpp | 55 + .../finitedifferences/fdmextoujumpsolver.hpp | 59 + .../finitedifferences/fdmklugeextouop.cpp | 120 + .../finitedifferences/fdmklugeextouop.hpp | 100 + .../finitedifferences/fdmklugeextousolver.hpp | 83 + .../finitedifferences/fdmsimple2dextousolver.hpp | 78 + .../fdmsimple3dextoujumpsolver.hpp | 77 + .../fdmspreadpayoffinnervalue.hpp | 58 + .../fdmvppstartlimitstepcondition.cpp | 99 + .../fdmvppstartlimitstepcondition.hpp | 52 + .../finitedifferences/fdmvppstepcondition.cpp | 112 + .../finitedifferences/fdmvppstepcondition.hpp | 88 + .../fdmvppstepconditionfactory.cpp | 90 + .../fdmvppstepconditionfactory.hpp | 53 + .../experimental/finitedifferences/fdmzabrop.cpp | 117 + .../experimental/finitedifferences/fdmzabrop.hpp | 96 + .../fdornsteinuhlenbeckvanillaengine.cpp | 140 + .../fdornsteinuhlenbeckvanillaengine.hpp | 69 + .../fdsimpleextoujumpswingengine.cpp | 126 + .../fdsimpleextoujumpswingengine.hpp | 66 + .../fdsimpleextoustorageengine.cpp | 178 + .../fdsimpleextoustorageengine.hpp | 63 + .../fdsimpleklugeextouvppengine.cpp | 199 + .../fdsimpleklugeextouvppengine.hpp | 70 + .../finitedifferences/glued1dmesher.cpp | 58 + .../finitedifferences/glued1dmesher.hpp | 41 + .../finitedifferences/vanillavppoption.cpp | 91 + .../finitedifferences/vanillavppoption.hpp | 69 + .../include/ql/experimental/forward/Makefile.am | 45 + install/include/ql/experimental/forward/all.hpp | 5 + .../analytichestonforwardeuropeanengine.cpp | 274 + .../analytichestonforwardeuropeanengine.hpp | 119 + install/include/ql/experimental/fx/Makefile.am | 47 + install/include/ql/experimental/fx/all.hpp | 6 + .../ql/experimental/fx/blackdeltacalculator.cpp | 357 + .../ql/experimental/fx/blackdeltacalculator.hpp | 124 + .../include/ql/experimental/fx/deltavolquote.cpp | 69 + .../include/ql/experimental/fx/deltavolquote.hpp | 83 + .../include/ql/experimental/inflation/Makefile.am | 58 + install/include/ql/experimental/inflation/all.hpp | 15 + .../experimental/inflation/cpicapfloorengines.cpp | 99 + .../experimental/inflation/cpicapfloorengines.hpp | 56 + .../inflation/cpicapfloortermpricesurface.cpp | 145 + .../inflation/cpicapfloortermpricesurface.hpp | 359 + .../ql/experimental/inflation/genericindexes.hpp | 99 + .../inflation/interpolatedyoyoptionletstripper.hpp | 303 + .../kinterpolatedyoyoptionletvolatilitysurface.hpp | 208 + .../inflation/piecewiseyoyoptionletvolatility.hpp | 235 + .../experimental/inflation/polynomial2Dspline.hpp | 107 + .../inflation/yoycapfloortermpricesurface.cpp | 149 + .../inflation/yoycapfloortermpricesurface.hpp | 639 + .../yoyinflationoptionletvolatilitystructure2.hpp | 190 + .../experimental/inflation/yoyoptionlethelpers.cpp | 106 + .../experimental/inflation/yoyoptionlethelpers.hpp | 86 + .../inflation/yoyoptionletstripper.hpp | 65 + .../include/ql/experimental/lattices/Makefile.am | 45 + install/include/ql/experimental/lattices/all.hpp | 5 + .../experimental/lattices/extendedbinomialtree.cpp | 284 + .../experimental/lattices/extendedbinomialtree.hpp | 246 + install/include/ql/experimental/math/Makefile.am | 76 + install/include/ql/experimental/math/all.hpp | 26 + .../ql/experimental/math/claytoncopularng.hpp | 72 + .../ql/experimental/math/convolvedstudentt.cpp | 179 + .../ql/experimental/math/convolvedstudentt.hpp | 183 + .../math/farliegumbelmorgensterncopularng.hpp | 74 + .../ql/experimental/math/fireflyalgorithm.cpp | 246 + .../ql/experimental/math/fireflyalgorithm.hpp | 285 + .../ql/experimental/math/frankcopularng.hpp | 70 + .../ql/experimental/math/gaussiancopulapolicy.cpp | 29 + .../ql/experimental/math/gaussiancopulapolicy.hpp | 126 + .../gaussiannoncentralchisquaredpolynomial.cpp | 106 + .../gaussiannoncentralchisquaredpolynomial.hpp | 47 + .../experimental/math/hybridsimulatedannealing.hpp | 236 + .../math/hybridsimulatedannealingfunctors.hpp | 415 + .../ql/experimental/math/isotropicrandomwalk.hpp | 119 + .../ql/experimental/math/laplaceinterpolation.cpp | 248 + .../ql/experimental/math/laplaceinterpolation.hpp | 77 + .../include/ql/experimental/math/latentmodel.hpp | 802 + .../experimental/math/levyflightdistribution.hpp | 148 + .../ql/experimental/math/moorepenroseinverse.hpp | 61 + .../ql/experimental/math/multidimintegrator.cpp | 34 + .../ql/experimental/math/multidimintegrator.hpp | 166 + .../ql/experimental/math/multidimquadrature.cpp | 40 + .../ql/experimental/math/multidimquadrature.hpp | 252 + .../math/particleswarmoptimization.cpp | 402 + .../math/particleswarmoptimization.hpp | 427 + .../ql/experimental/math/piecewisefunction.hpp | 47 + .../ql/experimental/math/piecewiseintegral.cpp | 40 + .../ql/experimental/math/piecewiseintegral.hpp | 105 + .../ql/experimental/math/polarstudenttrng.hpp | 91 + .../include/ql/experimental/math/tcopulapolicy.cpp | 86 + .../include/ql/experimental/math/tcopulapolicy.hpp | 157 + .../include/ql/experimental/math/zigguratrng.cpp | 241 + .../include/ql/experimental/math/zigguratrng.hpp | 79 + .../include/ql/experimental/mcbasket/Makefile.am | 55 + .../ql/experimental/mcbasket/adaptedpathpayoff.cpp | 96 + .../ql/experimental/mcbasket/adaptedpathpayoff.hpp | 88 + install/include/ql/experimental/mcbasket/all.hpp | 11 + .../mcbasket/longstaffschwartzmultipathpricer.cpp | 309 + .../mcbasket/longstaffschwartzmultipathpricer.hpp | 88 + .../experimental/mcbasket/mcamericanpathengine.hpp | 273 + .../mcbasket/mclongstaffschwartzpathengine.hpp | 194 + .../experimental/mcbasket/mcpathbasketengine.cpp | 68 + .../experimental/mcbasket/mcpathbasketengine.hpp | 343 + .../experimental/mcbasket/pathmultiassetoption.cpp | 57 + .../experimental/mcbasket/pathmultiassetoption.hpp | 82 + .../ql/experimental/mcbasket/pathpayoff.hpp | 94 + install/include/ql/experimental/models/Makefile.am | 47 + install/include/ql/experimental/models/all.hpp | 6 + .../ql/experimental/models/normalclvmodel.cpp | 137 + .../ql/experimental/models/normalclvmodel.hpp | 118 + .../ql/experimental/models/squarerootclvmodel.cpp | 183 + .../ql/experimental/models/squarerootclvmodel.hpp | 96 + .../include/ql/experimental/processes/Makefile.am | 55 + install/include/ql/experimental/processes/all.hpp | 10 + .../processes/extendedblackscholesprocess.cpp | 90 + .../processes/extendedblackscholesprocess.hpp | 59 + .../processes/extendedornsteinuhlenbeckprocess.cpp | 111 + .../processes/extendedornsteinuhlenbeckprocess.hpp | 75 + .../processes/extouwithjumpsprocess.cpp | 101 + .../processes/extouwithjumpsprocess.hpp | 88 + .../processes/gemanroncoroniprocess.cpp | 116 + .../processes/gemanroncoroniprocess.hpp | 81 + .../experimental/processes/klugeextouprocess.cpp | 103 + .../experimental/processes/klugeextouprocess.hpp | 81 + .../processes/vegastressedblackscholesprocess.cpp | 110 + .../processes/vegastressedblackscholesprocess.hpp | 85 + install/include/ql/experimental/risk/Makefile.am | 47 + install/include/ql/experimental/risk/all.hpp | 6 + .../ql/experimental/risk/creditriskplus.cpp | 240 + .../ql/experimental/risk/creditriskplus.hpp | 97 + .../ql/experimental/risk/sensitivityanalysis.cpp | 350 + .../ql/experimental/risk/sensitivityanalysis.hpp | 220 + .../include/ql/experimental/shortrate/Makefile.am | 47 + install/include/ql/experimental/shortrate/all.hpp | 6 + .../shortrate/generalizedhullwhite.cpp | 261 + .../shortrate/generalizedhullwhite.hpp | 387 + .../generalizedornsteinuhlenbeckprocess.cpp | 83 + .../generalizedornsteinuhlenbeckprocess.hpp | 74 + .../include/ql/experimental/swaptions/Makefile.am | 49 + install/include/ql/experimental/swaptions/all.hpp | 7 + .../swaptions/haganirregularswaptionengine.cpp | 362 + .../swaptions/haganirregularswaptionengine.hpp | 99 + .../ql/experimental/swaptions/irregularswap.cpp | 231 + .../ql/experimental/swaptions/irregularswap.hpp | 133 + .../experimental/swaptions/irregularswaption.cpp | 148 + .../experimental/swaptions/irregularswaption.hpp | 98 + .../ql/experimental/termstructures/Makefile.am | 48 + .../include/ql/experimental/termstructures/all.hpp | 6 + .../termstructures/basisswapratehelpers.cpp | 198 + .../termstructures/basisswapratehelpers.hpp | 121 + .../termstructures/crosscurrencyratehelpers.cpp | 366 + .../termstructures/crosscurrencyratehelpers.hpp | 170 + .../ql/experimental/variancegamma/Makefile.am | 55 + .../include/ql/experimental/variancegamma/all.hpp | 10 + .../variancegamma/analyticvariancegammaengine.cpp | 129 + .../variancegamma/analyticvariancegammaengine.hpp | 53 + .../ql/experimental/variancegamma/fftengine.cpp | 181 + .../ql/experimental/variancegamma/fftengine.hpp | 77 + .../variancegamma/fftvanillaengine.cpp | 86 + .../variancegamma/fftvanillaengine.hpp | 62 + .../variancegamma/fftvariancegammaengine.cpp | 84 + .../variancegamma/fftvariancegammaengine.hpp | 64 + .../variancegamma/variancegammamodel.cpp | 51 + .../variancegamma/variancegammamodel.hpp | 64 + .../variancegamma/variancegammaprocess.cpp | 69 + .../variancegamma/variancegammaprocess.hpp | 81 + .../ql/experimental/varianceoption/Makefile.am | 47 + .../include/ql/experimental/varianceoption/all.hpp | 6 + .../integralhestonvarianceoptionengine.cpp | 402 + .../integralhestonvarianceoptionengine.hpp | 50 + .../experimental/varianceoption/varianceoption.cpp | 55 + .../experimental/varianceoption/varianceoption.hpp | 111 + .../include/ql/experimental/volatility/Makefile.am | 81 + .../ql/experimental/volatility/abcdatmvolcurve.cpp | 149 + .../ql/experimental/volatility/abcdatmvolcurve.hpp | 200 + install/include/ql/experimental/volatility/all.hpp | 26 + .../experimental/volatility/blackatmvolcurve.cpp | 84 + .../experimental/volatility/blackatmvolcurve.hpp | 109 + .../ql/experimental/volatility/blackvolsurface.cpp | 59 + .../ql/experimental/volatility/blackvolsurface.hpp | 126 + .../experimental/volatility/equityfxvolsurface.cpp | 84 + .../experimental/volatility/equityfxvolsurface.hpp | 94 + .../volatility/extendedblackvariancecurve.cpp | 83 + .../volatility/extendedblackvariancecurve.hpp | 96 + .../volatility/extendedblackvariancesurface.cpp | 107 + .../volatility/extendedblackvariancesurface.hpp | 91 + .../volatility/interestratevolsurface.cpp | 61 + .../volatility/interestratevolsurface.hpp | 90 + .../ql/experimental/volatility/noarbsabr.cpp | 333 + .../ql/experimental/volatility/noarbsabr.hpp | 154 + .../experimental/volatility/noarbsabrabsprobs.cpp | 10113 +++ .../noarbsabrinterpolatedsmilesection.cpp | 131 + .../noarbsabrinterpolatedsmilesection.hpp | 196 + .../volatility/noarbsabrinterpolation.hpp | 288 + .../volatility/noarbsabrsmilesection.cpp | 99 + .../volatility/noarbsabrsmilesection.hpp | 73 + .../volatility/noarbsabrswaptionvolatilitycube.hpp | 45 + .../ql/experimental/volatility/sabrvolsurface.cpp | 180 + .../ql/experimental/volatility/sabrvolsurface.hpp | 148 + .../volatility/sabrvoltermstructure.hpp | 61 + .../volatility/sviinterpolatedsmilesection.cpp | 134 + .../volatility/sviinterpolatedsmilesection.hpp | 201 + .../experimental/volatility/sviinterpolation.hpp | 241 + .../ql/experimental/volatility/svismilesection.cpp | 56 + .../ql/experimental/volatility/svismilesection.hpp | 71 + .../include/ql/experimental/volatility/volcube.cpp | 44 + .../include/ql/experimental/volatility/volcube.hpp | 65 + .../include/ql/experimental/volatility/zabr.cpp | 385 + .../include/ql/experimental/volatility/zabr.hpp | 83 + .../volatility/zabrinterpolatedsmilesection.hpp | 332 + .../experimental/volatility/zabrinterpolation.hpp | 218 + .../experimental/volatility/zabrsmilesection.hpp | 337 + install/include/ql/functional.hpp | 73 + install/include/ql/grid.hpp | 84 + install/include/ql/handle.hpp | 232 + install/include/ql/index.cpp | 57 + install/include/ql/index.hpp | 142 + install/include/ql/indexes/Makefile.am | 65 + install/include/ql/indexes/all.hpp | 15 + install/include/ql/indexes/bmaindex.cpp | 97 + install/include/ql/indexes/bmaindex.hpp | 69 + install/include/ql/indexes/equityindex.cpp | 110 + install/include/ql/indexes/equityindex.hpp | 127 + install/include/ql/indexes/ibor/Makefile.am | 97 + install/include/ql/indexes/ibor/all.hpp | 44 + install/include/ql/indexes/ibor/aonia.hpp | 49 + install/include/ql/indexes/ibor/audlibor.hpp | 51 + install/include/ql/indexes/ibor/bbsw.hpp | 98 + install/include/ql/indexes/ibor/bibor.cpp | 70 + install/include/ql/indexes/ibor/bibor.hpp | 95 + install/include/ql/indexes/ibor/bkbm.hpp | 98 + install/include/ql/indexes/ibor/cadlibor.hpp | 69 + install/include/ql/indexes/ibor/cdor.hpp | 56 + install/include/ql/indexes/ibor/chflibor.hpp | 67 + install/include/ql/indexes/ibor/corra.cpp | 27 + install/include/ql/indexes/ibor/corra.hpp | 33 + install/include/ql/indexes/ibor/custom.cpp | 51 + install/include/ql/indexes/ibor/custom.hpp | 63 + install/include/ql/indexes/ibor/destr.hpp | 43 + install/include/ql/indexes/ibor/dkklibor.hpp | 51 + install/include/ql/indexes/ibor/eonia.cpp | 30 + install/include/ql/indexes/ibor/eonia.hpp | 39 + install/include/ql/indexes/ibor/estr.cpp | 30 + install/include/ql/indexes/ibor/estr.hpp | 39 + install/include/ql/indexes/ibor/euribor.cpp | 83 + install/include/ql/indexes/ibor/euribor.hpp | 328 + install/include/ql/indexes/ibor/eurlibor.cpp | 120 + install/include/ql/indexes/ibor/eurlibor.hpp | 206 + install/include/ql/indexes/ibor/fedfunds.cpp | 33 + install/include/ql/indexes/ibor/fedfunds.hpp | 41 + install/include/ql/indexes/ibor/gbplibor.hpp | 71 + install/include/ql/indexes/ibor/jibar.hpp | 52 + install/include/ql/indexes/ibor/jpylibor.hpp | 69 + install/include/ql/indexes/ibor/kofr.cpp | 31 + install/include/ql/indexes/ibor/kofr.hpp | 44 + install/include/ql/indexes/ibor/libor.cpp | 152 + install/include/ql/indexes/ibor/libor.hpp | 85 + install/include/ql/indexes/ibor/mosprime.hpp | 54 + install/include/ql/indexes/ibor/nzdlibor.hpp | 51 + install/include/ql/indexes/ibor/nzocr.hpp | 49 + install/include/ql/indexes/ibor/pribor.hpp | 56 + install/include/ql/indexes/ibor/robor.hpp | 54 + install/include/ql/indexes/ibor/saron.cpp | 30 + install/include/ql/indexes/ibor/saron.hpp | 39 + install/include/ql/indexes/ibor/seklibor.hpp | 52 + install/include/ql/indexes/ibor/shibor.cpp | 54 + install/include/ql/indexes/ibor/shibor.hpp | 44 + install/include/ql/indexes/ibor/sofr.cpp | 32 + install/include/ql/indexes/ibor/sofr.hpp | 39 + install/include/ql/indexes/ibor/sonia.cpp | 32 + install/include/ql/indexes/ibor/sonia.hpp | 39 + install/include/ql/indexes/ibor/swestr.hpp | 43 + install/include/ql/indexes/ibor/thbfix.hpp | 63 + install/include/ql/indexes/ibor/tibor.hpp | 54 + install/include/ql/indexes/ibor/tona.hpp | 49 + install/include/ql/indexes/ibor/trlibor.hpp | 54 + install/include/ql/indexes/ibor/usdlibor.hpp | 72 + install/include/ql/indexes/ibor/wibor.hpp | 54 + install/include/ql/indexes/ibor/zibor.hpp | 55 + install/include/ql/indexes/iborindex.cpp | 96 + install/include/ql/indexes/iborindex.hpp | 124 + install/include/ql/indexes/indexmanager.cpp | 84 + install/include/ql/indexes/indexmanager.hpp | 157 + install/include/ql/indexes/inflation/Makefile.am | 26 + install/include/ql/indexes/inflation/all.hpp | 11 + install/include/ql/indexes/inflation/aucpi.hpp | 82 + install/include/ql/indexes/inflation/euhicp.hpp | 130 + install/include/ql/indexes/inflation/frhicp.hpp | 77 + install/include/ql/indexes/inflation/ukhicp.hpp | 41 + install/include/ql/indexes/inflation/ukrpi.hpp | 78 + install/include/ql/indexes/inflation/uscpi.hpp | 83 + install/include/ql/indexes/inflation/zacpi.hpp | 79 + install/include/ql/indexes/inflationindex.cpp | 433 + install/include/ql/indexes/inflationindex.hpp | 347 + install/include/ql/indexes/interestrateindex.cpp | 98 + install/include/ql/indexes/interestrateindex.hpp | 117 + install/include/ql/indexes/region.cpp | 63 + install/include/ql/indexes/region.hpp | 131 + install/include/ql/indexes/swap/Makefile.am | 55 + install/include/ql/indexes/swap/all.hpp | 10 + install/include/ql/indexes/swap/chfliborswap.cpp | 61 + install/include/ql/indexes/swap/chfliborswap.hpp | 52 + install/include/ql/indexes/swap/euriborswap.cpp | 126 + install/include/ql/indexes/swap/euriborswap.hpp | 87 + install/include/ql/indexes/swap/eurliborswap.cpp | 125 + install/include/ql/indexes/swap/eurliborswap.hpp | 88 + install/include/ql/indexes/swap/gbpliborswap.cpp | 63 + install/include/ql/indexes/swap/gbpliborswap.hpp | 52 + install/include/ql/indexes/swap/jpyliborswap.cpp | 84 + install/include/ql/indexes/swap/jpyliborswap.hpp | 69 + install/include/ql/indexes/swap/usdliborswap.cpp | 84 + install/include/ql/indexes/swap/usdliborswap.hpp | 69 + install/include/ql/indexes/swapindex.cpp | 219 + install/include/ql/indexes/swapindex.hpp | 155 + install/include/ql/instrument.cpp | 49 + install/include/ql/instrument.hpp | 205 + install/include/ql/instruments/Makefile.am | 194 + install/include/ql/instruments/all.hpp | 77 + install/include/ql/instruments/asianoption.cpp | 170 + install/include/ql/instruments/asianoption.hpp | 136 + install/include/ql/instruments/assetswap.cpp | 362 + install/include/ql/instruments/assetswap.hpp | 145 + install/include/ql/instruments/averagetype.cpp | 40 + install/include/ql/instruments/averagetype.hpp | 43 + install/include/ql/instruments/barrieroption.cpp | 140 + install/include/ql/instruments/barrieroption.hpp | 101 + install/include/ql/instruments/barriertype.cpp | 44 + install/include/ql/instruments/barriertype.hpp | 44 + install/include/ql/instruments/basketoption.cpp | 33 + install/include/ql/instruments/basketoption.hpp | 119 + install/include/ql/instruments/bmaswap.cpp | 144 + install/include/ql/instruments/bmaswap.hpp | 84 + install/include/ql/instruments/bond.cpp | 406 + install/include/ql/instruments/bond.hpp | 344 + install/include/ql/instruments/bondforward.cpp | 100 + install/include/ql/instruments/bondforward.hpp | 122 + install/include/ql/instruments/bonds/Makefile.am | 63 + install/include/ql/instruments/bonds/all.hpp | 14 + .../ql/instruments/bonds/amortizingcmsratebond.cpp | 65 + .../ql/instruments/bonds/amortizingcmsratebond.hpp | 56 + .../instruments/bonds/amortizingfixedratebond.cpp | 152 + .../instruments/bonds/amortizingfixedratebond.hpp | 72 + .../bonds/amortizingfloatingratebond.cpp | 75 + .../bonds/amortizingfloatingratebond.hpp | 60 + install/include/ql/instruments/bonds/btp.cpp | 248 + install/include/ql/instruments/bonds/btp.hpp | 293 + .../include/ql/instruments/bonds/cmsratebond.cpp | 68 + .../include/ql/instruments/bonds/cmsratebond.hpp | 61 + .../ql/instruments/bonds/convertiblebonds.cpp | 222 + .../ql/instruments/bonds/convertiblebonds.hpp | 173 + install/include/ql/instruments/bonds/cpibond.cpp | 88 + install/include/ql/instruments/bonds/cpibond.hpp | 89 + .../include/ql/instruments/bonds/fixedratebond.cpp | 71 + .../include/ql/instruments/bonds/fixedratebond.hpp | 75 + .../ql/instruments/bonds/floatingratebond.cpp | 73 + .../ql/instruments/bonds/floatingratebond.hpp | 66 + .../ql/instruments/bonds/zerocouponbond.cpp | 41 + .../ql/instruments/bonds/zerocouponbond.hpp | 51 + .../include/ql/instruments/callabilityschedule.hpp | 77 + install/include/ql/instruments/capfloor.cpp | 342 + install/include/ql/instruments/capfloor.hpp | 164 + install/include/ql/instruments/claim.cpp | 47 + install/include/ql/instruments/claim.hpp | 62 + install/include/ql/instruments/cliquetoption.cpp | 68 + install/include/ql/instruments/cliquetoption.hpp | 85 + .../ql/instruments/complexchooseroption.cpp | 61 + .../ql/instruments/complexchooseroption.hpp | 73 + .../include/ql/instruments/compositeinstrument.cpp | 68 + .../include/ql/instruments/compositeinstrument.hpp | 72 + install/include/ql/instruments/compoundoption.cpp | 52 + install/include/ql/instruments/compoundoption.hpp | 66 + install/include/ql/instruments/cpicapfloor.cpp | 118 + install/include/ql/instruments/cpicapfloor.hpp | 140 + install/include/ql/instruments/cpiswap.cpp | 219 + install/include/ql/instruments/cpiswap.hpp | 225 + .../include/ql/instruments/creditdefaultswap.cpp | 508 + .../include/ql/instruments/creditdefaultswap.hpp | 366 + .../ql/instruments/dividendbarrieroption.hpp | 29 + .../include/ql/instruments/dividendschedule.hpp | 37 + .../ql/instruments/dividendvanillaoption.hpp | 28 + .../include/ql/instruments/doublebarrieroption.cpp | 114 + .../include/ql/instruments/doublebarrieroption.hpp | 90 + .../include/ql/instruments/doublebarriertype.cpp | 42 + .../include/ql/instruments/doublebarriertype.hpp | 47 + .../ql/instruments/equitytotalreturnswap.cpp | 195 + .../ql/instruments/equitytotalreturnswap.hpp | 132 + install/include/ql/instruments/europeanoption.cpp | 31 + install/include/ql/instruments/europeanoption.hpp | 43 + .../ql/instruments/fixedratebondforward.hpp | 28 + .../include/ql/instruments/fixedvsfloatingswap.cpp | 246 + .../include/ql/instruments/fixedvsfloatingswap.hpp | 231 + install/include/ql/instruments/floatfloatswap.cpp | 584 + install/include/ql/instruments/floatfloatswap.hpp | 252 + .../include/ql/instruments/floatfloatswaption.cpp | 87 + .../include/ql/instruments/floatfloatswaption.hpp | 94 + install/include/ql/instruments/forward.cpp | 94 + install/include/ql/instruments/forward.hpp | 210 + .../ql/instruments/forwardrateagreement.cpp | 119 + .../ql/instruments/forwardrateagreement.hpp | 157 + .../ql/instruments/forwardvanillaoption.cpp | 58 + .../ql/instruments/forwardvanillaoption.hpp | 86 + install/include/ql/instruments/futures.cpp | 40 + install/include/ql/instruments/futures.hpp | 50 + .../ql/instruments/holderextensibleoption.cpp | 55 + .../ql/instruments/holderextensibleoption.hpp | 77 + .../include/ql/instruments/impliedvolatility.cpp | 107 + .../include/ql/instruments/impliedvolatility.hpp | 64 + .../include/ql/instruments/inflationcapfloor.cpp | 220 + .../include/ql/instruments/inflationcapfloor.hpp | 174 + install/include/ql/instruments/lookbackoption.cpp | 148 + install/include/ql/instruments/lookbackoption.hpp | 192 + install/include/ql/instruments/makecapfloor.cpp | 156 + install/include/ql/instruments/makecapfloor.hpp | 78 + install/include/ql/instruments/makecds.cpp | 141 + install/include/ql/instruments/makecds.hpp | 76 + install/include/ql/instruments/makecms.cpp | 306 + install/include/ql/instruments/makecms.hpp | 120 + install/include/ql/instruments/makeois.cpp | 368 + install/include/ql/instruments/makeois.hpp | 138 + install/include/ql/instruments/makeswaption.cpp | 194 + install/include/ql/instruments/makeswaption.hpp | 91 + install/include/ql/instruments/makevanillaswap.cpp | 366 + install/include/ql/instruments/makevanillaswap.hpp | 119 + .../ql/instruments/makeyoyinflationcapfloor.cpp | 160 + .../ql/instruments/makeyoyinflationcapfloor.hpp | 95 + install/include/ql/instruments/margrabeoption.cpp | 85 + install/include/ql/instruments/margrabeoption.hpp | 90 + .../include/ql/instruments/multiassetoption.cpp | 100 + .../include/ql/instruments/multiassetoption.hpp | 81 + install/include/ql/instruments/nonstandardswap.cpp | 377 + install/include/ql/instruments/nonstandardswap.hpp | 229 + .../include/ql/instruments/nonstandardswaption.cpp | 100 + .../include/ql/instruments/nonstandardswaption.hpp | 98 + install/include/ql/instruments/oneassetoption.cpp | 150 + install/include/ql/instruments/oneassetoption.hpp | 88 + .../ql/instruments/overnightindexedswap.cpp | 196 + .../ql/instruments/overnightindexedswap.hpp | 146 + .../ql/instruments/overnightindexfuture.cpp | 147 + .../ql/instruments/overnightindexfuture.hpp | 66 + .../ql/instruments/partialtimebarrieroption.cpp | 66 + .../ql/instruments/partialtimebarrieroption.hpp | 107 + install/include/ql/instruments/payoffs.cpp | 226 + install/include/ql/instruments/payoffs.hpp | 259 + .../include/ql/instruments/quantobarrieroption.cpp | 69 + .../include/ql/instruments/quantobarrieroption.hpp | 63 + .../ql/instruments/quantoforwardvanillaoption.cpp | 69 + .../ql/instruments/quantoforwardvanillaoption.hpp | 61 + .../include/ql/instruments/quantovanillaoption.cpp | 67 + .../include/ql/instruments/quantovanillaoption.hpp | 73 + .../include/ql/instruments/simplechooseroption.cpp | 47 + .../include/ql/instruments/simplechooseroption.hpp | 64 + .../ql/instruments/simplifynotificationgraph.cpp | 45 + .../ql/instruments/simplifynotificationgraph.hpp | 66 + .../include/ql/instruments/softbarrieroption.cpp | 104 + .../include/ql/instruments/softbarrieroption.hpp | 80 + install/include/ql/instruments/softbarriertype.cpp | 42 + install/include/ql/instruments/softbarriertype.hpp | 49 + install/include/ql/instruments/stickyratchet.cpp | 89 + install/include/ql/instruments/stickyratchet.hpp | 231 + install/include/ql/instruments/stock.cpp | 33 + install/include/ql/instruments/stock.hpp | 49 + install/include/ql/instruments/swap.cpp | 196 + install/include/ql/instruments/swap.hpp | 165 + install/include/ql/instruments/swaption.cpp | 222 + install/include/ql/instruments/swaption.hpp | 156 + .../ql/instruments/twoassetbarrieroption.cpp | 79 + .../ql/instruments/twoassetbarrieroption.hpp | 80 + .../ql/instruments/twoassetcorrelationoption.cpp | 43 + .../ql/instruments/twoassetcorrelationoption.hpp | 74 + install/include/ql/instruments/vanillaoption.cpp | 95 + install/include/ql/instruments/vanillaoption.hpp | 85 + .../ql/instruments/vanillastorageoption.hpp | 94 + install/include/ql/instruments/vanillaswap.cpp | 82 + install/include/ql/instruments/vanillaswap.hpp | 85 + .../include/ql/instruments/vanillaswingoption.cpp | 148 + .../include/ql/instruments/vanillaswingoption.hpp | 92 + install/include/ql/instruments/varianceswap.cpp | 76 + install/include/ql/instruments/varianceswap.hpp | 135 + .../ql/instruments/writerextensibleoption.cpp | 56 + .../ql/instruments/writerextensibleoption.hpp | 73 + .../ql/instruments/yearonyearinflationswap.cpp | 248 + .../ql/instruments/yearonyearinflationswap.hpp | 219 + .../ql/instruments/zerocouponinflationswap.cpp | 167 + .../ql/instruments/zerocouponinflationswap.hpp | 158 + install/include/ql/instruments/zerocouponswap.cpp | 172 + install/include/ql/instruments/zerocouponswap.hpp | 138 + install/include/ql/interestrate.cpp | 168 + install/include/ql/interestrate.hpp | 194 + install/include/ql/legacy/Makefile.am | 24 + install/include/ql/legacy/all.hpp | 4 + .../ql/legacy/libormarketmodels/Makefile.am | 71 + .../include/ql/legacy/libormarketmodels/all.hpp | 19 + .../ql/legacy/libormarketmodels/lfmcovarparam.cpp | 77 + .../ql/legacy/libormarketmodels/lfmcovarparam.hpp | 64 + .../ql/legacy/libormarketmodels/lfmcovarproxy.cpp | 137 + .../ql/legacy/libormarketmodels/lfmcovarproxy.hpp | 61 + .../legacy/libormarketmodels/lfmhullwhiteparam.cpp | 144 + .../legacy/libormarketmodels/lfmhullwhiteparam.hpp | 63 + .../ql/legacy/libormarketmodels/lfmprocess.cpp | 229 + .../ql/legacy/libormarketmodels/lfmprocess.hpp | 112 + .../legacy/libormarketmodels/lfmswaptionengine.cpp | 72 + .../legacy/libormarketmodels/lfmswaptionengine.hpp | 50 + .../legacy/libormarketmodels/liborforwardmodel.cpp | 211 + .../legacy/libormarketmodels/liborforwardmodel.hpp | 89 + .../libormarketmodels/lmconstwrappercorrmodel.hpp | 63 + .../libormarketmodels/lmconstwrappervolmodel.hpp | 64 + .../ql/legacy/libormarketmodels/lmcorrmodel.cpp | 64 + .../ql/legacy/libormarketmodels/lmcorrmodel.hpp | 63 + .../ql/legacy/libormarketmodels/lmexpcorrmodel.cpp | 69 + .../ql/legacy/libormarketmodels/lmexpcorrmodel.hpp | 65 + .../libormarketmodels/lmextlinexpvolmodel.cpp | 59 + .../libormarketmodels/lmextlinexpvolmodel.hpp | 62 + .../legacy/libormarketmodels/lmfixedvolmodel.cpp | 71 + .../legacy/libormarketmodels/lmfixedvolmodel.hpp | 49 + .../legacy/libormarketmodels/lmlinexpcorrmodel.cpp | 76 + .../legacy/libormarketmodels/lmlinexpcorrmodel.hpp | 69 + .../legacy/libormarketmodels/lmlinexpvolmodel.cpp | 96 + .../legacy/libormarketmodels/lmlinexpvolmodel.hpp | 65 + .../ql/legacy/libormarketmodels/lmvolmodel.cpp | 55 + .../ql/legacy/libormarketmodels/lmvolmodel.hpp | 59 + install/include/ql/math/Makefile.am | 101 + install/include/ql/math/abcdmathfunction.cpp | 135 + install/include/ql/math/abcdmathfunction.hpp | 127 + install/include/ql/math/all.hpp | 41 + install/include/ql/math/array.hpp | 910 + install/include/ql/math/autocovariance.hpp | 191 + install/include/ql/math/bernsteinpolynomial.cpp | 37 + install/include/ql/math/bernsteinpolynomial.hpp | 54 + install/include/ql/math/beta.cpp | 94 + install/include/ql/math/beta.hpp | 59 + install/include/ql/math/bspline.cpp | 60 + install/include/ql/math/bspline.hpp | 79 + install/include/ql/math/comparison.hpp | 145 + install/include/ql/math/copulas/Makefile.am | 68 + .../ql/math/copulas/alimikhailhaqcopula.cpp | 41 + .../ql/math/copulas/alimikhailhaqcopula.hpp | 44 + install/include/ql/math/copulas/all.hpp | 17 + install/include/ql/math/copulas/claytoncopula.cpp | 47 + install/include/ql/math/copulas/claytoncopula.hpp | 43 + .../math/copulas/farliegumbelmorgensterncopula.cpp | 40 + .../math/copulas/farliegumbelmorgensterncopula.hpp | 43 + install/include/ql/math/copulas/frankcopula.cpp | 41 + install/include/ql/math/copulas/frankcopula.hpp | 43 + install/include/ql/math/copulas/galamboscopula.cpp | 42 + install/include/ql/math/copulas/galamboscopula.hpp | 44 + install/include/ql/math/copulas/gaussiancopula.cpp | 40 + install/include/ql/math/copulas/gaussiancopula.hpp | 45 + install/include/ql/math/copulas/gumbelcopula.cpp | 41 + install/include/ql/math/copulas/gumbelcopula.hpp | 43 + .../include/ql/math/copulas/huslerreisscopula.cpp | 43 + .../include/ql/math/copulas/huslerreisscopula.hpp | 45 + .../include/ql/math/copulas/independentcopula.cpp | 34 + .../include/ql/math/copulas/independentcopula.hpp | 40 + .../ql/math/copulas/marshallolkincopula.cpp | 44 + .../ql/math/copulas/marshallolkincopula.hpp | 43 + install/include/ql/math/copulas/maxcopula.cpp | 35 + install/include/ql/math/copulas/maxcopula.hpp | 40 + install/include/ql/math/copulas/mincopula.cpp | 35 + install/include/ql/math/copulas/mincopula.hpp | 40 + install/include/ql/math/copulas/plackettcopula.cpp | 44 + install/include/ql/math/copulas/plackettcopula.hpp | 44 + install/include/ql/math/distributions/Makefile.am | 57 + install/include/ql/math/distributions/all.hpp | 12 + .../ql/math/distributions/binomialdistribution.hpp | 151 + .../distributions/bivariatenormaldistribution.cpp | 259 + .../distributions/bivariatenormaldistribution.hpp | 109 + .../bivariatestudenttdistribution.cpp | 172 + .../bivariatestudenttdistribution.hpp | 55 + .../math/distributions/chisquaredistribution.cpp | 133 + .../math/distributions/chisquaredistribution.hpp | 76 + .../ql/math/distributions/gammadistribution.cpp | 99 + .../ql/math/distributions/gammadistribution.hpp | 67 + .../ql/math/distributions/normaldistribution.cpp | 188 + .../ql/math/distributions/normaldistribution.hpp | 322 + .../ql/math/distributions/poissondistribution.hpp | 139 + .../ql/math/distributions/studenttdistribution.cpp | 66 + .../ql/math/distributions/studenttdistribution.hpp | 96 + install/include/ql/math/errorfunction.cpp | 246 + install/include/ql/math/errorfunction.hpp | 56 + install/include/ql/math/expm1.cpp | 54 + install/include/ql/math/expm1.hpp | 35 + install/include/ql/math/factorial.cpp | 66 + install/include/ql/math/factorial.hpp | 46 + install/include/ql/math/fastfouriertransform.hpp | 125 + install/include/ql/math/functional.hpp | 42 + .../include/ql/math/generallinearleastsquares.hpp | 151 + install/include/ql/math/incompletegamma.cpp | 103 + install/include/ql/math/incompletegamma.hpp | 57 + install/include/ql/math/integrals/Makefile.am | 67 + install/include/ql/math/integrals/all.hpp | 20 + .../ql/math/integrals/discreteintegrals.cpp | 113 + .../ql/math/integrals/discreteintegrals.hpp | 65 + .../ql/math/integrals/exponentialintegrals.cpp | 249 + .../ql/math/integrals/exponentialintegrals.hpp | 52 + .../include/ql/math/integrals/expsinhintegral.hpp | 108 + .../include/ql/math/integrals/filonintegral.cpp | 87 + .../include/ql/math/integrals/filonintegral.hpp | 61 + .../integrals/gaussianorthogonalpolynomial.cpp | 183 + .../integrals/gaussianorthogonalpolynomial.hpp | 140 + .../ql/math/integrals/gaussianquadratures.cpp | 220 + .../ql/math/integrals/gaussianquadratures.hpp | 312 + .../integrals/gausslaguerrecosinepolynomial.hpp | 144 + .../ql/math/integrals/gausslobattointegral.cpp | 155 + .../ql/math/integrals/gausslobattointegral.hpp | 72 + install/include/ql/math/integrals/integral.cpp | 88 + install/include/ql/math/integrals/integral.hpp | 75 + .../include/ql/math/integrals/kronrodintegral.cpp | 449 + .../include/ql/math/integrals/kronrodintegral.hpp | 100 + .../integrals/momentbasedgaussianpolynomial.hpp | 172 + .../include/ql/math/integrals/segmentintegral.cpp | 29 + .../include/ql/math/integrals/segmentintegral.hpp | 79 + .../include/ql/math/integrals/simpsonintegral.hpp | 72 + .../include/ql/math/integrals/tanhsinhintegral.hpp | 94 + .../ql/math/integrals/trapezoidintegral.hpp | 121 + .../ql/math/integrals/twodimensionalintegral.hpp | 62 + install/include/ql/math/interpolation.hpp | 161 + install/include/ql/math/interpolations/Makefile.am | 64 + .../ql/math/interpolations/abcdinterpolation.hpp | 248 + install/include/ql/math/interpolations/all.hpp | 25 + .../interpolations/backwardflatinterpolation.hpp | 116 + .../backwardflatlinearinterpolation.hpp | 104 + .../interpolations/bicubicsplineinterpolation.hpp | 211 + .../math/interpolations/bilinearinterpolation.hpp | 100 + .../math/interpolations/chebyshevinterpolation.cpp | 83 + .../math/interpolations/chebyshevinterpolation.hpp | 62 + .../interpolations/convexmonotoneinterpolation.hpp | 854 + .../ql/math/interpolations/cubicinterpolation.hpp | 809 + .../ql/math/interpolations/extrapolation.hpp | 55 + .../ql/math/interpolations/flatextrapolation2d.hpp | 96 + .../interpolations/forwardflatinterpolation.hpp | 109 + .../ql/math/interpolations/interpolation2d.hpp | 195 + .../ql/math/interpolations/kernelinterpolation.hpp | 173 + .../math/interpolations/kernelinterpolation2d.hpp | 215 + .../math/interpolations/lagrangeinterpolation.hpp | 161 + .../ql/math/interpolations/linearinterpolation.hpp | 112 + .../ql/math/interpolations/loginterpolation.hpp | 400 + .../ql/math/interpolations/mixedinterpolation.hpp | 291 + .../ql/math/interpolations/multicubicspline.hpp | 568 + .../ql/math/interpolations/sabrinterpolation.hpp | 248 + .../ql/math/interpolations/xabrinterpolation.hpp | 326 + install/include/ql/math/kernelfunctions.hpp | 69 + .../ql/math/linearleastsquaresregression.hpp | 117 + install/include/ql/math/matrix.cpp | 103 + install/include/ql/math/matrix.hpp | 750 + .../include/ql/math/matrixutilities/Makefile.am | 74 + install/include/ql/math/matrixutilities/all.hpp | 20 + .../matrixutilities/basisincompleteordered.cpp | 228 + .../matrixutilities/basisincompleteordered.hpp | 88 + .../include/ql/math/matrixutilities/bicgstab.cpp | 94 + .../include/ql/math/matrixutilities/bicgstab.hpp | 54 + .../math/matrixutilities/choleskydecomposition.cpp | 86 + .../math/matrixutilities/choleskydecomposition.hpp | 38 + install/include/ql/math/matrixutilities/expm.cpp | 70 + install/include/ql/math/matrixutilities/expm.hpp | 44 + .../ql/math/matrixutilities/factorreduction.cpp | 104 + .../ql/math/matrixutilities/factorreduction.hpp | 48 + .../ql/math/matrixutilities/getcovariance.cpp | 50 + .../ql/math/matrixutilities/getcovariance.hpp | 115 + install/include/ql/math/matrixutilities/gmres.cpp | 147 + install/include/ql/math/matrixutilities/gmres.hpp | 74 + .../ql/math/matrixutilities/householder.cpp | 78 + .../ql/math/matrixutilities/householder.hpp | 59 + .../include/ql/math/matrixutilities/pseudosqrt.cpp | 537 + .../include/ql/math/matrixutilities/pseudosqrt.hpp | 87 + .../ql/math/matrixutilities/qrdecomposition.cpp | 160 + .../ql/math/matrixutilities/qrdecomposition.hpp | 78 + .../matrixutilities/sparseilupreconditioner.cpp | 190 + .../matrixutilities/sparseilupreconditioner.hpp | 55 + .../ql/math/matrixutilities/sparsematrix.hpp | 73 + install/include/ql/math/matrixutilities/svd.cpp | 539 + install/include/ql/math/matrixutilities/svd.hpp | 79 + .../symmetricschurdecomposition.cpp | 140 + .../symmetricschurdecomposition.hpp | 82 + .../ql/math/matrixutilities/tapcorrelations.cpp | 145 + .../ql/math/matrixutilities/tapcorrelations.hpp | 106 + .../math/matrixutilities/tqreigendecomposition.cpp | 149 + .../math/matrixutilities/tqreigendecomposition.hpp | 75 + install/include/ql/math/modifiedbessel.cpp | 158 + install/include/ql/math/modifiedbessel.hpp | 56 + install/include/ql/math/ode/Makefile.am | 20 + install/include/ql/math/ode/adaptiverungekutta.hpp | 252 + install/include/ql/math/ode/all.hpp | 5 + install/include/ql/math/optimization/Makefile.am | 82 + install/include/ql/math/optimization/all.hpp | 26 + install/include/ql/math/optimization/armijo.cpp | 87 + install/include/ql/math/optimization/armijo.hpp | 67 + install/include/ql/math/optimization/bfgs.cpp | 89 + install/include/ql/math/optimization/bfgs.hpp | 55 + .../ql/math/optimization/conjugategradient.cpp | 37 + .../ql/math/optimization/conjugategradient.hpp | 61 + .../include/ql/math/optimization/constraint.cpp | 44 + .../include/ql/math/optimization/constraint.hpp | 208 + .../include/ql/math/optimization/costfunction.hpp | 117 + .../ql/math/optimization/differentialevolution.cpp | 397 + .../ql/math/optimization/differentialevolution.hpp | 207 + .../include/ql/math/optimization/endcriteria.cpp | 190 + .../include/ql/math/optimization/endcriteria.hpp | 114 + install/include/ql/math/optimization/goldstein.cpp | 93 + install/include/ql/math/optimization/goldstein.hpp | 52 + .../include/ql/math/optimization/leastsquare.cpp | 118 + .../include/ql/math/optimization/leastsquare.hpp | 153 + .../ql/math/optimization/levenbergmarquardt.cpp | 169 + .../ql/math/optimization/levenbergmarquardt.hpp | 90 + .../include/ql/math/optimization/linesearch.cpp | 47 + .../include/ql/math/optimization/linesearch.hpp | 81 + .../ql/math/optimization/linesearchbasedmethod.cpp | 116 + .../ql/math/optimization/linesearchbasedmethod.hpp | 56 + install/include/ql/math/optimization/lmdif.cpp | 1672 + install/include/ql/math/optimization/lmdif.hpp | 59 + install/include/ql/math/optimization/method.hpp | 47 + install/include/ql/math/optimization/problem.hpp | 146 + .../ql/math/optimization/projectedconstraint.hpp | 76 + .../ql/math/optimization/projectedcostfunction.cpp | 47 + .../ql/math/optimization/projectedcostfunction.hpp | 61 + .../include/ql/math/optimization/projection.cpp | 79 + .../include/ql/math/optimization/projection.hpp | 57 + install/include/ql/math/optimization/simplex.cpp | 193 + install/include/ql/math/optimization/simplex.hpp | 76 + .../ql/math/optimization/simulatedannealing.hpp | 276 + .../ql/math/optimization/spherecylinder.cpp | 201 + .../ql/math/optimization/spherecylinder.hpp | 80 + .../ql/math/optimization/steepestdescent.cpp | 33 + .../ql/math/optimization/steepestdescent.hpp | 51 + install/include/ql/math/pascaltriangle.cpp | 54 + install/include/ql/math/pascaltriangle.hpp | 46 + install/include/ql/math/polynomialmathfunction.cpp | 109 + install/include/ql/math/polynomialmathfunction.hpp | 80 + install/include/ql/math/primenumbers.cpp | 75 + install/include/ql/math/primenumbers.hpp | 57 + install/include/ql/math/quadratic.cpp | 56 + install/include/ql/math/quadratic.hpp | 48 + install/include/ql/math/randomnumbers/Makefile.am | 80 + install/include/ql/math/randomnumbers/all.hpp | 27 + .../ql/math/randomnumbers/boxmullergaussianrng.hpp | 94 + .../ql/math/randomnumbers/burley2020sobolrsg.cpp | 153 + .../ql/math/randomnumbers/burley2020sobolrsg.hpp | 64 + .../math/randomnumbers/centrallimitgaussianrng.hpp | 74 + install/include/ql/math/randomnumbers/faurersg.cpp | 135 + install/include/ql/math/randomnumbers/faurersg.hpp | 84 + .../include/ql/math/randomnumbers/haltonrsg.cpp | 75 + .../include/ql/math/randomnumbers/haltonrsg.hpp | 65 + .../ql/math/randomnumbers/inversecumulativerng.hpp | 80 + .../ql/math/randomnumbers/inversecumulativersg.hpp | 98 + .../ql/math/randomnumbers/knuthuniformrng.cpp | 91 + .../ql/math/randomnumbers/knuthuniformrng.hpp | 86 + .../include/ql/math/randomnumbers/latticersg.cpp | 50 + .../include/ql/math/randomnumbers/latticersg.hpp | 55 + .../include/ql/math/randomnumbers/latticerules.cpp | 14495 ++++ .../include/ql/math/randomnumbers/latticerules.hpp | 47 + .../ql/math/randomnumbers/lecuyeruniformrng.cpp | 86 + .../ql/math/randomnumbers/lecuyeruniformrng.hpp | 69 + .../ql/math/randomnumbers/mt19937uniformrng.cpp | 145 + .../ql/math/randomnumbers/mt19937uniformrng.hpp | 84 + .../ql/math/randomnumbers/primitivepolynomials.cpp | 21376 +++++ .../ql/math/randomnumbers/primitivepolynomials.hpp | 269 + .../ql/math/randomnumbers/randomizedlds.hpp | 137 + .../math/randomnumbers/randomsequencegenerator.hpp | 97 + .../ql/math/randomnumbers/ranluxuniformrng.hpp | 68 + .../include/ql/math/randomnumbers/rngtraits.hpp | 110 + .../ql/math/randomnumbers/seedgenerator.cpp | 63 + .../ql/math/randomnumbers/seedgenerator.hpp | 51 + .../math/randomnumbers/sobolbrownianbridgersg.cpp | 89 + .../math/randomnumbers/sobolbrownianbridgersg.hpp | 74 + install/include/ql/math/randomnumbers/sobolrsg.cpp | 78850 +++++++++++++++++++ install/include/ql/math/randomnumbers/sobolrsg.hpp | 155 + .../randomnumbers/stochasticcollocationinvcdf.cpp | 64 + .../randomnumbers/stochasticcollocationinvcdf.hpp | 61 + .../randomnumbers/xoshiro256starstaruniformrng.cpp | 68 + .../randomnumbers/xoshiro256starstaruniformrng.hpp | 100 + .../ql/math/randomnumbers/zigguratgaussianrng.hpp | 277 + .../include/ql/math/richardsonextrapolation.cpp | 92 + .../include/ql/math/richardsonextrapolation.hpp | 73 + install/include/ql/math/rounding.cpp | 69 + install/include/ql/math/rounding.hpp | 132 + install/include/ql/math/sampledcurve.hpp | 28 + install/include/ql/math/solver1d.hpp | 265 + install/include/ql/math/solvers1d/Makefile.am | 28 + install/include/ql/math/solvers1d/all.hpp | 13 + install/include/ql/math/solvers1d/bisection.hpp | 80 + install/include/ql/math/solvers1d/brent.hpp | 142 + .../include/ql/math/solvers1d/falseposition.hpp | 90 + .../math/solvers1d/finitedifferencenewtonsafe.hpp | 107 + install/include/ql/math/solvers1d/halley.hpp | 75 + install/include/ql/math/solvers1d/newton.hpp | 86 + install/include/ql/math/solvers1d/newtonsafe.hpp | 114 + install/include/ql/math/solvers1d/ridder.hpp | 120 + install/include/ql/math/solvers1d/secant.hpp | 81 + install/include/ql/math/statistics/Makefile.am | 56 + install/include/ql/math/statistics/all.hpp | 13 + .../ql/math/statistics/convergencestatistics.hpp | 132 + .../ql/math/statistics/discrepancystatistics.cpp | 56 + .../ql/math/statistics/discrepancystatistics.hpp | 125 + .../ql/math/statistics/gaussianstatistics.hpp | 241 + .../ql/math/statistics/generalstatistics.cpp | 136 + .../ql/math/statistics/generalstatistics.hpp | 257 + install/include/ql/math/statistics/histogram.cpp | 180 + install/include/ql/math/statistics/histogram.hpp | 93 + .../ql/math/statistics/incrementalstatistics.cpp | 139 + .../ql/math/statistics/incrementalstatistics.hpp | 176 + .../include/ql/math/statistics/riskstatistics.hpp | 229 + .../ql/math/statistics/sequencestatistics.hpp | 300 + install/include/ql/math/statistics/statistics.hpp | 40 + install/include/ql/math/transformedgrid.hpp | 116 + install/include/ql/mathconstants.hpp | 130 + install/include/ql/methods/Makefile.am | 26 + install/include/ql/methods/all.hpp | 6 + .../ql/methods/finitedifferences/Makefile.am | 77 + .../include/ql/methods/finitedifferences/all.hpp | 28 + .../finitedifferences/boundarycondition.cpp | 120 + .../finitedifferences/boundarycondition.hpp | 116 + .../ql/methods/finitedifferences/bsmoperator.cpp | 56 + .../ql/methods/finitedifferences/bsmoperator.hpp | 47 + .../methods/finitedifferences/bsmtermoperator.hpp | 27 + .../ql/methods/finitedifferences/cranknicolson.hpp | 84 + .../ql/methods/finitedifferences/dminus.hpp | 58 + .../include/ql/methods/finitedifferences/dplus.hpp | 58 + .../ql/methods/finitedifferences/dplusdminus.hpp | 61 + .../include/ql/methods/finitedifferences/dzero.hpp | 61 + .../ql/methods/finitedifferences/expliciteuler.hpp | 84 + .../ql/methods/finitedifferences/fdtypedefs.hpp | 31 + .../finitedifferences/finitedifferencemodel.hpp | 153 + .../ql/methods/finitedifferences/impliciteuler.hpp | 79 + .../methods/finitedifferences/meshers/Makefile.am | 65 + .../ql/methods/finitedifferences/meshers/all.hpp | 17 + .../meshers/concentrating1dmesher.cpp | 221 + .../meshers/concentrating1dmesher.hpp | 55 + .../meshers/exponentialjump1dmesher.cpp | 98 + .../meshers/exponentialjump1dmesher.hpp | 65 + .../finitedifferences/meshers/fdm1dmesher.hpp | 52 + .../meshers/fdmblackscholesmesher.cpp | 150 + .../meshers/fdmblackscholesmesher.hpp | 62 + .../meshers/fdmblackscholesmultistrikemesher.cpp | 93 + .../meshers/fdmblackscholesmultistrikemesher.hpp | 49 + .../finitedifferences/meshers/fdmcev1dmesher.cpp | 74 + .../finitedifferences/meshers/fdmcev1dmesher.hpp | 45 + .../meshers/fdmhestonvariancemesher.cpp | 213 + .../meshers/fdmhestonvariancemesher.hpp | 67 + .../finitedifferences/meshers/fdmmesher.hpp | 60 + .../meshers/fdmmeshercomposite.cpp | 116 + .../meshers/fdmmeshercomposite.hpp | 70 + .../meshers/fdmsimpleprocess1dmesher.cpp | 71 + .../meshers/fdmsimpleprocess1dmesher.hpp | 46 + .../meshers/predefined1dmesher.hpp | 48 + .../finitedifferences/meshers/uniform1dmesher.hpp | 54 + .../meshers/uniformgridmesher.cpp | 57 + .../meshers/uniformgridmesher.hpp | 60 + .../ql/methods/finitedifferences/mixedscheme.hpp | 136 + .../finitedifferences/operators/Makefile.am | 95 + .../ql/methods/finitedifferences/operators/all.hpp | 32 + .../operators/fdm2dblackscholesop.cpp | 158 + .../operators/fdm2dblackscholesop.hpp | 72 + .../finitedifferences/operators/fdmbatesop.cpp | 126 + .../finitedifferences/operators/fdmbatesop.hpp | 118 + .../operators/fdmblackscholesfwdop.cpp | 119 + .../operators/fdmblackscholesfwdop.hpp | 71 + .../operators/fdmblackscholesop.cpp | 137 + .../operators/fdmblackscholesop.hpp | 76 + .../finitedifferences/operators/fdmcevop.cpp | 87 + .../finitedifferences/operators/fdmcevop.hpp | 70 + .../finitedifferences/operators/fdmcirop.cpp | 175 + .../finitedifferences/operators/fdmcirop.hpp | 123 + .../finitedifferences/operators/fdmg2op.cpp | 118 + .../finitedifferences/operators/fdmg2op.hpp | 67 + .../finitedifferences/operators/fdmhestonfwdop.cpp | 230 + .../finitedifferences/operators/fdmhestonfwdop.hpp | 87 + .../operators/fdmhestonhullwhiteop.cpp | 153 + .../operators/fdmhestonhullwhiteop.hpp | 94 + .../finitedifferences/operators/fdmhestonop.cpp | 196 + .../finitedifferences/operators/fdmhestonop.hpp | 115 + .../finitedifferences/operators/fdmhullwhiteop.cpp | 93 + .../finitedifferences/operators/fdmhullwhiteop.hpp | 65 + .../finitedifferences/operators/fdmlinearop.hpp | 44 + .../operators/fdmlinearopcomposite.hpp | 61 + .../operators/fdmlinearopiterator.hpp | 91 + .../operators/fdmlinearoplayout.cpp | 87 + .../operators/fdmlinearoplayout.hpp | 88 + .../operators/fdmlocalvolfwdop.cpp | 92 + .../operators/fdmlocalvolfwdop.hpp | 68 + .../operators/fdmornsteinuhlenbeckop.cpp | 100 + .../operators/fdmornsteinuhlenbeckop.hpp | 68 + .../finitedifferences/operators/fdmsabrop.cpp | 107 + .../finitedifferences/operators/fdmsabrop.hpp | 77 + .../operators/fdmsquarerootfwdop.cpp | 327 + .../operators/fdmsquarerootfwdop.hpp | 95 + .../finitedifferences/operators/fdmwienerop.cpp | 94 + .../finitedifferences/operators/fdmwienerop.hpp | 60 + .../operators/firstderivativeop.cpp | 61 + .../operators/firstderivativeop.hpp | 41 + .../operators/modtriplebandlinearop.hpp | 50 + .../operators/ninepointlinearop.cpp | 190 + .../operators/ninepointlinearop.hpp | 86 + .../operators/nthorderderivativeop.cpp | 89 + .../operators/nthorderderivativeop.hpp | 46 + .../operators/numericaldifferentiation.cpp | 120 + .../operators/numericaldifferentiation.hpp | 86 + .../operators/secondderivativeop.cpp | 53 + .../operators/secondderivativeop.hpp | 40 + .../operators/secondordermixedderivativeop.cpp | 112 + .../operators/secondordermixedderivativeop.hpp | 40 + .../operators/triplebandlinearop.cpp | 301 + .../operators/triplebandlinearop.hpp | 95 + .../methods/finitedifferences/operatortraits.hpp | 46 + .../methods/finitedifferences/parallelevolver.hpp | 39 + .../include/ql/methods/finitedifferences/pde.hpp | 129 + .../ql/methods/finitedifferences/pdebsm.hpp | 61 + .../methods/finitedifferences/schemes/Makefile.am | 61 + .../ql/methods/finitedifferences/schemes/all.hpp | 14 + .../schemes/boundaryconditionschemehelper.hpp | 68 + .../finitedifferences/schemes/craigsneydscheme.cpp | 66 + .../finitedifferences/schemes/craigsneydscheme.hpp | 62 + .../schemes/cranknicolsonscheme.cpp | 56 + .../schemes/cranknicolsonscheme.hpp | 67 + .../finitedifferences/schemes/douglasscheme.cpp | 52 + .../finitedifferences/schemes/douglasscheme.hpp | 60 + .../schemes/expliciteulerscheme.cpp | 47 + .../schemes/expliciteulerscheme.hpp | 61 + .../schemes/hundsdorferscheme.cpp | 66 + .../schemes/hundsdorferscheme.hpp | 66 + .../schemes/impliciteulerscheme.cpp | 89 + .../schemes/impliciteulerscheme.hpp | 72 + .../schemes/methodoflinesscheme.cpp | 62 + .../schemes/methodoflinesscheme.hpp | 62 + .../schemes/modifiedcraigsneydscheme.cpp | 64 + .../schemes/modifiedcraigsneydscheme.hpp | 67 + .../finitedifferences/schemes/trbdf2scheme.hpp | 152 + .../methods/finitedifferences/solvers/Makefile.am | 71 + .../ql/methods/finitedifferences/solvers/all.hpp | 19 + .../finitedifferences/solvers/fdm1dimsolver.cpp | 97 + .../finitedifferences/solvers/fdm1dimsolver.hpp | 67 + .../solvers/fdm2dblackscholessolver.cpp | 120 + .../solvers/fdm2dblackscholessolver.hpp | 71 + .../finitedifferences/solvers/fdm2dimsolver.cpp | 123 + .../finitedifferences/solvers/fdm2dimsolver.hpp | 70 + .../finitedifferences/solvers/fdm3dimsolver.cpp | 125 + .../finitedifferences/solvers/fdm3dimsolver.hpp | 62 + .../solvers/fdmbackwardsolver.cpp | 200 + .../solvers/fdmbackwardsolver.hpp | 82 + .../finitedifferences/solvers/fdmbatessolver.cpp | 76 + .../finitedifferences/solvers/fdmbatessolver.hpp | 70 + .../solvers/fdmblackscholessolver.cpp | 76 + .../solvers/fdmblackscholessolver.hpp | 71 + .../finitedifferences/solvers/fdmcirsolver.cpp | 72 + .../finitedifferences/solvers/fdmcirsolver.hpp | 71 + .../finitedifferences/solvers/fdmg2solver.cpp | 52 + .../finitedifferences/solvers/fdmg2solver.hpp | 56 + .../solvers/fdmhestonhullwhitesolver.cpp | 75 + .../solvers/fdmhestonhullwhitesolver.hpp | 73 + .../finitedifferences/solvers/fdmhestonsolver.cpp | 93 + .../finitedifferences/solvers/fdmhestonsolver.hpp | 81 + .../solvers/fdmhullwhitesolver.cpp | 51 + .../solvers/fdmhullwhitesolver.hpp | 56 + .../finitedifferences/solvers/fdmndimsolver.hpp | 169 + .../solvers/fdmsimple2dbssolver.cpp | 65 + .../solvers/fdmsimple2dbssolver.hpp | 62 + .../finitedifferences/solvers/fdmsolverdesc.hpp | 46 + .../ql/methods/finitedifferences/stepcondition.hpp | 53 + .../finitedifferences/stepconditions/Makefile.am | 57 + .../finitedifferences/stepconditions/all.hpp | 11 + .../stepconditions/fdmamericanstepcondition.cpp | 43 + .../stepconditions/fdmamericanstepcondition.hpp | 47 + .../fdmarithmeticaveragecondition.cpp | 90 + .../fdmarithmeticaveragecondition.hpp | 52 + .../stepconditions/fdmbermudanstepcondition.cpp | 66 + .../stepconditions/fdmbermudanstepcondition.hpp | 53 + .../stepconditions/fdmsimplestoragecondition.cpp | 104 + .../stepconditions/fdmsimplestoragecondition.hpp | 52 + .../stepconditions/fdmsimpleswingcondition.cpp | 71 + .../stepconditions/fdmsimpleswingcondition.hpp | 51 + .../stepconditions/fdmsnapshotcondition.cpp | 46 + .../stepconditions/fdmsnapshotcondition.hpp | 46 + .../stepconditions/fdmstepconditioncomposite.cpp | 134 + .../stepconditions/fdmstepconditioncomposite.hpp | 71 + .../ql/methods/finitedifferences/trbdf2.hpp | 172 + .../finitedifferences/tridiagonaloperator.cpp | 162 + .../finitedifferences/tridiagonaloperator.hpp | 259 + .../finitedifferences/utilities/Makefile.am | 86 + .../ql/methods/finitedifferences/utilities/all.hpp | 26 + .../utilities/bsmrndcalculator.cpp | 62 + .../utilities/bsmrndcalculator.hpp | 51 + .../utilities/cevrndcalculator.cpp | 131 + .../utilities/cevrndcalculator.hpp | 62 + .../utilities/escroweddividendadjustment.cpp | 61 + .../utilities/escroweddividendadjustment.hpp | 55 + .../utilities/fdmaffinemodelswapinnervalue.cpp | 48 + .../utilities/fdmaffinemodelswapinnervalue.hpp | 148 + .../utilities/fdmaffinemodeltermstructure.cpp | 52 + .../utilities/fdmaffinemodeltermstructure.hpp | 54 + .../utilities/fdmboundaryconditionset.hpp | 36 + .../utilities/fdmdirichletboundary.cpp | 72 + .../utilities/fdmdirichletboundary.hpp | 65 + .../utilities/fdmdiscountdirichletboundary.cpp | 80 + .../utilities/fdmdiscountdirichletboundary.hpp | 59 + .../utilities/fdmdividendhandler.cpp | 107 + .../utilities/fdmdividendhandler.hpp | 61 + .../fdmescrowedloginnervaluecalculator.cpp | 51 + .../fdmescrowedloginnervaluecalculator.hpp | 54 + .../utilities/fdmhestongreensfct.cpp | 112 + .../utilities/fdmhestongreensfct.hpp | 51 + .../utilities/fdmindicesonboundary.cpp | 55 + .../utilities/fdmindicesonboundary.hpp | 46 + .../utilities/fdminnervaluecalculator.cpp | 136 + .../utilities/fdminnervaluecalculator.hpp | 100 + .../utilities/fdmmesherintegral.cpp | 60 + .../utilities/fdmmesherintegral.hpp | 45 + .../utilities/fdmquantohelper.cpp | 65 + .../utilities/fdmquantohelper.hpp | 54 + .../utilities/fdmshoutloginnervaluecalculator.cpp | 79 + .../utilities/fdmshoutloginnervaluecalculator.hpp | 59 + .../utilities/fdmtimedepdirichletboundary.cpp | 72 + .../utilities/fdmtimedepdirichletboundary.hpp | 69 + .../utilities/gbsmrndcalculator.cpp | 102 + .../utilities/gbsmrndcalculator.hpp | 47 + .../utilities/hestonrndcalculator.cpp | 164 + .../utilities/hestonrndcalculator.hpp | 66 + .../utilities/localvolrndcalculator.cpp | 356 + .../utilities/localvolrndcalculator.hpp | 101 + .../utilities/riskneutraldensitycalculator.cpp | 43 + .../utilities/riskneutraldensitycalculator.hpp | 57 + .../utilities/squarerootprocessrndcalculator.cpp | 88 + .../utilities/squarerootprocessrndcalculator.hpp | 49 + .../ql/methods/finitedifferences/zerocondition.hpp | 46 + install/include/ql/methods/lattices/Makefile.am | 53 + install/include/ql/methods/lattices/all.hpp | 12 + .../include/ql/methods/lattices/binomialtree.cpp | 158 + .../include/ql/methods/lattices/binomialtree.hpp | 212 + install/include/ql/methods/lattices/bsmlattice.hpp | 92 + install/include/ql/methods/lattices/lattice.hpp | 184 + install/include/ql/methods/lattices/lattice1d.hpp | 58 + install/include/ql/methods/lattices/lattice2d.hpp | 136 + install/include/ql/methods/lattices/tflattice.hpp | 168 + install/include/ql/methods/lattices/tree.hpp | 62 + .../include/ql/methods/lattices/trinomialtree.cpp | 78 + .../include/ql/methods/lattices/trinomialtree.hpp | 148 + install/include/ql/methods/montecarlo/Makefile.am | 63 + install/include/ql/methods/montecarlo/all.hpp | 20 + .../ql/methods/montecarlo/brownianbridge.cpp | 113 + .../ql/methods/montecarlo/brownianbridge.hpp | 149 + .../methods/montecarlo/earlyexercisepathpricer.hpp | 80 + .../ql/methods/montecarlo/exercisestrategy.hpp | 45 + .../ql/methods/montecarlo/genericlsregression.cpp | 111 + .../ql/methods/montecarlo/genericlsregression.hpp | 46 + .../montecarlo/longstaffschwartzpathpricer.hpp | 217 + .../ql/methods/montecarlo/lsmbasissystem.cpp | 184 + .../ql/methods/montecarlo/lsmbasissystem.hpp | 54 + install/include/ql/methods/montecarlo/mctraits.hpp | 62 + .../ql/methods/montecarlo/montecarlomodel.hpp | 136 + .../include/ql/methods/montecarlo/multipath.hpp | 73 + .../ql/methods/montecarlo/multipathgenerator.hpp | 155 + install/include/ql/methods/montecarlo/nodedata.hpp | 41 + .../ql/methods/montecarlo/parametricexercise.cpp | 136 + .../ql/methods/montecarlo/parametricexercise.hpp | 64 + install/include/ql/methods/montecarlo/path.hpp | 165 + .../ql/methods/montecarlo/pathgenerator.hpp | 159 + .../include/ql/methods/montecarlo/pathpricer.hpp | 51 + install/include/ql/methods/montecarlo/sample.hpp | 46 + install/include/ql/models/Makefile.am | 56 + install/include/ql/models/all.hpp | 11 + install/include/ql/models/calibrationhelper.cpp | 87 + install/include/ql/models/calibrationhelper.hpp | 112 + install/include/ql/models/equity/Makefile.am | 57 + install/include/ql/models/equity/all.hpp | 11 + install/include/ql/models/equity/batesmodel.cpp | 87 + install/include/ql/models/equity/batesmodel.hpp | 95 + install/include/ql/models/equity/gjrgarchmodel.cpp | 78 + install/include/ql/models/equity/gjrgarchmodel.hpp | 72 + install/include/ql/models/equity/hestonmodel.cpp | 54 + install/include/ql/models/equity/hestonmodel.hpp | 87 + .../include/ql/models/equity/hestonmodelhelper.cpp | 94 + .../include/ql/models/equity/hestonmodelhelper.hpp | 78 + .../include/ql/models/equity/hestonslvfdmmodel.cpp | 537 + .../include/ql/models/equity/hestonslvfdmmodel.hpp | 114 + .../include/ql/models/equity/hestonslvmcmodel.cpp | 189 + .../include/ql/models/equity/hestonslvmcmodel.hpp | 75 + .../equity/piecewisetimedependenthestonmodel.cpp | 64 + .../equity/piecewisetimedependenthestonmodel.hpp | 84 + install/include/ql/models/marketmodels/Makefile.am | 89 + .../ql/models/marketmodels/accountingengine.cpp | 122 + .../ql/models/marketmodels/accountingengine.hpp | 71 + install/include/ql/models/marketmodels/all.hpp | 33 + .../ql/models/marketmodels/browniangenerator.hpp | 51 + .../marketmodels/browniangenerators/Makefile.am | 47 + .../models/marketmodels/browniangenerators/all.hpp | 6 + .../browniangenerators/mtbrowniangenerator.cpp | 69 + .../browniangenerators/mtbrowniangenerator.hpp | 74 + .../browniangenerators/sobolbrowniangenerator.cpp | 254 + .../browniangenerators/sobolbrowniangenerator.hpp | 140 + .../ql/models/marketmodels/callability/Makefile.am | 67 + .../ql/models/marketmodels/callability/all.hpp | 18 + .../callability/bermudanswaptionexercisevalue.cpp | 86 + .../callability/bermudanswaptionexercisevalue.hpp | 60 + .../marketmodels/callability/collectnodedata.cpp | 205 + .../marketmodels/callability/collectnodedata.hpp | 45 + .../marketmodels/callability/exercisevalue.hpp | 53 + .../models/marketmodels/callability/lsstrategy.cpp | 163 + .../models/marketmodels/callability/lsstrategy.hpp | 68 + .../callability/marketmodelbasissystem.hpp | 39 + .../callability/marketmodelparametricexercise.hpp | 40 + .../marketmodels/callability/nodedataprovider.hpp | 52 + .../callability/nothingexercisevalue.cpp | 92 + .../callability/nothingexercisevalue.hpp | 56 + .../callability/parametricexerciseadapter.cpp | 71 + .../callability/parametricexerciseadapter.hpp | 56 + .../marketmodels/callability/swapbasissystem.cpp | 84 + .../marketmodels/callability/swapbasissystem.hpp | 51 + .../callability/swapforwardbasissystem.cpp | 136 + .../callability/swapforwardbasissystem.hpp | 55 + .../marketmodels/callability/swapratetrigger.cpp | 76 + .../marketmodels/callability/swapratetrigger.hpp | 51 + .../callability/triggeredswapexercise.cpp | 94 + .../callability/triggeredswapexercise.hpp | 62 + .../marketmodels/callability/upperboundengine.cpp | 347 + .../marketmodels/callability/upperboundengine.hpp | 83 + .../ql/models/marketmodels/constrainedevolver.hpp | 54 + .../models/marketmodels/correlations/Makefile.am | 49 + .../ql/models/marketmodels/correlations/all.hpp | 7 + .../correlations/cotswapfromfwdcorrelation.cpp | 78 + .../correlations/cotswapfromfwdcorrelation.hpp | 50 + .../marketmodels/correlations/expcorrelations.cpp | 142 + .../marketmodels/correlations/expcorrelations.hpp | 68 + .../timehomogeneousforwardcorrelation.cpp | 90 + .../timehomogeneousforwardcorrelation.hpp | 50 + .../include/ql/models/marketmodels/curvestate.cpp | 126 + .../include/ql/models/marketmodels/curvestate.hpp | 108 + .../ql/models/marketmodels/curvestates/Makefile.am | 49 + .../ql/models/marketmodels/curvestates/all.hpp | 7 + .../marketmodels/curvestates/cmswapcurvestate.cpp | 185 + .../marketmodels/curvestates/cmswapcurvestate.hpp | 72 + .../curvestates/coterminalswapcurvestate.cpp | 148 + .../curvestates/coterminalswapcurvestate.hpp | 86 + .../marketmodels/curvestates/lmmcurvestate.cpp | 202 + .../marketmodels/curvestates/lmmcurvestate.hpp | 91 + .../include/ql/models/marketmodels/discounter.cpp | 56 + .../include/ql/models/marketmodels/discounter.hpp | 44 + .../marketmodels/driftcomputation/Makefile.am | 51 + .../models/marketmodels/driftcomputation/all.hpp | 8 + .../driftcomputation/cmsmmdriftcalculator.cpp | 137 + .../driftcomputation/cmsmmdriftcalculator.hpp | 71 + .../driftcomputation/lmmdriftcalculator.cpp | 181 + .../driftcomputation/lmmdriftcalculator.hpp | 82 + .../driftcomputation/lmmnormaldriftcalculator.cpp | 158 + .../driftcomputation/lmmnormaldriftcalculator.hpp | 83 + .../driftcomputation/smmdriftcalculator.cpp | 132 + .../driftcomputation/smmdriftcalculator.hpp | 65 + .../models/marketmodels/evolutiondescription.cpp | 190 + .../models/marketmodels/evolutiondescription.hpp | 119 + install/include/ql/models/marketmodels/evolver.hpp | 49 + .../ql/models/marketmodels/evolvers/Makefile.am | 68 + .../ql/models/marketmodels/evolvers/all.hpp | 16 + .../evolvers/lognormalcmswapratepc.cpp | 159 + .../evolvers/lognormalcmswapratepc.hpp | 76 + .../evolvers/lognormalcotswapratepc.cpp | 157 + .../evolvers/lognormalcotswapratepc.hpp | 73 + .../evolvers/lognormalfwdrateballand.cpp | 154 + .../evolvers/lognormalfwdrateballand.hpp | 74 + .../evolvers/lognormalfwdrateeuler.cpp | 143 + .../evolvers/lognormalfwdrateeuler.hpp | 82 + .../evolvers/lognormalfwdrateeulerconstrained.cpp | 234 + .../evolvers/lognormalfwdrateeulerconstrained.hpp | 95 + .../evolvers/lognormalfwdrateiballand.cpp | 156 + .../evolvers/lognormalfwdrateiballand.hpp | 74 + .../marketmodels/evolvers/lognormalfwdrateipc.cpp | 151 + .../marketmodels/evolvers/lognormalfwdrateipc.hpp | 75 + .../marketmodels/evolvers/lognormalfwdratepc.cpp | 151 + .../marketmodels/evolvers/lognormalfwdratepc.hpp | 73 + .../evolvers/marketmodelvolprocess.hpp | 56 + .../marketmodels/evolvers/normalfwdratepc.cpp | 143 + .../marketmodels/evolvers/normalfwdratepc.hpp | 71 + .../models/marketmodels/evolvers/svddfwdratepc.cpp | 199 + .../models/marketmodels/evolvers/svddfwdratepc.hpp | 91 + .../marketmodels/evolvers/volprocesses/Makefile.am | 45 + .../marketmodels/evolvers/volprocesses/all.hpp | 5 + .../evolvers/volprocesses/squarerootandersen.cpp | 164 + .../evolvers/volprocesses/squarerootandersen.hpp | 89 + .../models/marketmodels/forwardforwardmappings.cpp | 125 + .../models/marketmodels/forwardforwardmappings.hpp | 63 + .../historicalforwardratesanalysis.hpp | 302 + .../marketmodels/historicalratesanalysis.cpp | 95 + .../marketmodels/historicalratesanalysis.hpp | 80 + .../include/ql/models/marketmodels/marketmodel.cpp | 75 + .../include/ql/models/marketmodels/marketmodel.hpp | 68 + .../models/marketmodels/marketmodeldifferences.cpp | 117 + .../models/marketmodels/marketmodeldifferences.hpp | 48 + .../ql/models/marketmodels/models/Makefile.am | 78 + .../ql/models/marketmodels/models/abcdvol.cpp | 137 + .../ql/models/marketmodels/models/abcdvol.hpp | 100 + .../include/ql/models/marketmodels/models/all.hpp | 22 + .../ql/models/marketmodels/models/alphafinder.cpp | 563 + .../ql/models/marketmodels/models/alphafinder.hpp | 96 + .../ql/models/marketmodels/models/alphaform.hpp | 36 + .../marketmodels/models/alphaformconcrete.cpp | 54 + .../marketmodels/models/alphaformconcrete.hpp | 54 + .../models/capletcoterminalalphacalibration.cpp | 262 + .../models/capletcoterminalalphacalibration.hpp | 90 + .../models/capletcoterminalmaxhomogeneity.cpp | 423 + .../models/capletcoterminalmaxhomogeneity.hpp | 69 + .../models/capletcoterminalperiodic.cpp | 180 + .../models/capletcoterminalperiodic.hpp | 66 + .../models/capletcoterminalswaptioncalibration.cpp | 354 + .../models/capletcoterminalswaptioncalibration.hpp | 71 + .../marketmodels/models/cotswaptofwdadapter.cpp | 103 + .../marketmodels/models/cotswaptofwdadapter.hpp | 102 + .../marketmodels/models/ctsmmcapletcalibration.cpp | 204 + .../marketmodels/models/ctsmmcapletcalibration.hpp | 194 + .../ql/models/marketmodels/models/flatvol.cpp | 206 + .../ql/models/marketmodels/models/flatvol.hpp | 131 + .../marketmodels/models/fwdperiodadapter.cpp | 125 + .../marketmodels/models/fwdperiodadapter.hpp | 93 + .../marketmodels/models/fwdtocotswapadapter.cpp | 103 + .../marketmodels/models/fwdtocotswapadapter.hpp | 102 + .../models/piecewiseconstantabcdvariance.cpp | 80 + .../models/piecewiseconstantabcdvariance.hpp | 52 + .../models/piecewiseconstantvariance.cpp | 51 + .../models/piecewiseconstantvariance.hpp | 49 + .../marketmodels/models/pseudorootfacade.cpp | 79 + .../marketmodels/models/pseudorootfacade.hpp | 92 + .../models/volatilityinterpolationspecifier.hpp | 58 + .../volatilityinterpolationspecifierabcd.cpp | 196 + .../volatilityinterpolationspecifierabcd.hpp | 77 + .../ql/models/marketmodels/multiproduct.hpp | 77 + .../marketmodels/pathwiseaccountingengine.cpp | 1195 + .../marketmodels/pathwiseaccountingengine.hpp | 283 + .../ql/models/marketmodels/pathwisediscounter.cpp | 84 + .../ql/models/marketmodels/pathwisediscounter.hpp | 62 + .../models/marketmodels/pathwisegreeks/Makefile.am | 50 + .../ql/models/marketmodels/pathwisegreeks/all.hpp | 8 + .../pathwisegreeks/bumpinstrumentjacobian.cpp | 209 + .../pathwisegreeks/bumpinstrumentjacobian.hpp | 116 + .../pathwisegreeks/ratepseudorootjacobian.cpp | 320 + .../pathwisegreeks/ratepseudorootjacobian.hpp | 158 + .../pathwisegreeks/swaptionpseudojacobian.cpp | 382 + .../pathwisegreeks/swaptionpseudojacobian.hpp | 112 + .../pathwisegreeks/vegabumpcluster.cpp | 236 + .../pathwisegreeks/vegabumpcluster.hpp | 137 + .../models/marketmodels/pathwisemultiproduct.hpp | 84 + .../marketmodels/piecewiseconstantcorrelation.hpp | 54 + .../ql/models/marketmodels/products/Makefile.am | 60 + .../ql/models/marketmodels/products/all.hpp | 12 + .../marketmodels/products/compositeproduct.cpp | 155 + .../marketmodels/products/compositeproduct.hpp | 86 + .../products/multiproductcomposite.cpp | 86 + .../products/multiproductcomposite.hpp | 49 + .../products/multiproductmultistep.cpp | 56 + .../products/multiproductmultistep.hpp | 49 + .../marketmodels/products/multiproductonestep.cpp | 49 + .../marketmodels/products/multiproductonestep.hpp | 49 + .../marketmodels/products/multistep/Makefile.am | 75 + .../models/marketmodels/products/multistep/all.hpp | 20 + .../multistep/callspecifiedmultiproduct.cpp | 205 + .../multistep/callspecifiedmultiproduct.hpp | 73 + .../marketmodels/products/multistep/cashrebate.cpp | 103 + .../marketmodels/products/multistep/cashrebate.hpp | 67 + .../products/multistep/exerciseadapter.cpp | 58 + .../products/multistep/exerciseadapter.hpp | 89 + .../products/multistep/multistepcoinitialswaps.cpp | 70 + .../products/multistep/multistepcoinitialswaps.hpp | 77 + .../multistep/multistepcoterminalswaps.cpp | 69 + .../multistep/multistepcoterminalswaps.hpp | 77 + .../multistep/multistepcoterminalswaptions.cpp | 62 + .../multistep/multistepcoterminalswaptions.hpp | 78 + .../products/multistep/multistepforwards.cpp | 58 + .../products/multistep/multistepforwards.hpp | 75 + .../products/multistep/multistepinversefloater.cpp | 75 + .../products/multistep/multistepinversefloater.hpp | 86 + .../products/multistep/multistepnothing.cpp | 45 + .../products/multistep/multistepnothing.hpp | 72 + .../products/multistep/multistepoptionlets.cpp | 60 + .../products/multistep/multistepoptionlets.hpp | 79 + .../multistep/multisteppathwisewrapper.cpp | 95 + .../multistep/multisteppathwisewrapper.hpp | 64 + .../multistep/multistepperiodcapletswaptions.cpp | 138 + .../multistep/multistepperiodcapletswaptions.hpp | 94 + .../products/multistep/multistepratchet.cpp | 74 + .../products/multistep/multistepratchet.hpp | 87 + .../products/multistep/multistepswap.cpp | 68 + .../products/multistep/multistepswap.hpp | 81 + .../products/multistep/multistepswaption.cpp | 76 + .../products/multistep/multistepswaption.hpp | 88 + .../products/multistep/multisteptarn.cpp | 114 + .../products/multistep/multisteptarn.hpp | 71 + .../marketmodels/products/onestep/Makefile.am | 51 + .../models/marketmodels/products/onestep/all.hpp | 8 + .../products/onestep/onestepcoinitialswaps.cpp | 72 + .../products/onestep/onestepcoinitialswaps.hpp | 77 + .../products/onestep/onestepcoterminalswaps.cpp | 71 + .../products/onestep/onestepcoterminalswaps.hpp | 76 + .../products/onestep/onestepforwards.cpp | 59 + .../products/onestep/onestepforwards.hpp | 77 + .../products/onestep/onestepoptionlets.cpp | 63 + .../products/onestep/onestepoptionlets.hpp | 77 + .../marketmodels/products/pathwise/Makefile.am | 55 + .../models/marketmodels/products/pathwise/all.hpp | 10 + .../pathwise/pathwiseproductcallspecified.cpp | 182 + .../pathwise/pathwiseproductcallspecified.hpp | 87 + .../products/pathwise/pathwiseproductcaplet.cpp | 382 + .../products/pathwise/pathwiseproductcaplet.hpp | 199 + .../pathwise/pathwiseproductcashrebate.cpp | 114 + .../pathwise/pathwiseproductcashrebate.hpp | 78 + .../pathwise/pathwiseproductinversefloater.cpp | 143 + .../pathwise/pathwiseproductinversefloater.hpp | 93 + .../products/pathwise/pathwiseproductswap.cpp | 130 + .../products/pathwise/pathwiseproductswap.hpp | 90 + .../products/pathwise/pathwiseproductswaption.cpp | 254 + .../products/pathwise/pathwiseproductswaption.hpp | 140 + .../products/singleproductcomposite.cpp | 79 + .../products/singleproductcomposite.hpp | 49 + .../ql/models/marketmodels/proxygreekengine.cpp | 191 + .../ql/models/marketmodels/proxygreekengine.hpp | 82 + .../ql/models/marketmodels/swapforwardmappings.cpp | 221 + .../ql/models/marketmodels/swapforwardmappings.hpp | 91 + .../include/ql/models/marketmodels/utilities.cpp | 126 + .../include/ql/models/marketmodels/utilities.hpp | 50 + install/include/ql/models/model.cpp | 154 + install/include/ql/models/model.hpp | 233 + install/include/ql/models/parameter.hpp | 193 + install/include/ql/models/shortrate/Makefile.am | 54 + install/include/ql/models/shortrate/all.hpp | 9 + .../shortrate/calibrationhelpers/Makefile.am | 47 + .../ql/models/shortrate/calibrationhelpers/all.hpp | 6 + .../shortrate/calibrationhelpers/caphelper.cpp | 147 + .../shortrate/calibrationhelpers/caphelper.hpp | 66 + .../calibrationhelpers/swaptionhelper.cpp | 218 + .../calibrationhelpers/swaptionhelper.hpp | 123 + .../include/ql/models/shortrate/onefactormodel.cpp | 104 + .../include/ql/models/shortrate/onefactormodel.hpp | 150 + .../models/shortrate/onefactormodels/Makefile.am | 59 + .../ql/models/shortrate/onefactormodels/all.hpp | 12 + .../shortrate/onefactormodels/blackkarasinski.cpp | 110 + .../shortrate/onefactormodels/blackkarasinski.hpp | 93 + .../shortrate/onefactormodels/coxingersollross.cpp | 134 + .../shortrate/onefactormodels/coxingersollross.hpp | 103 + .../onefactormodels/extendedcoxingersollross.cpp | 108 + .../onefactormodels/extendedcoxingersollross.hpp | 161 + .../shortrate/onefactormodels/gaussian1dmodel.cpp | 285 + .../shortrate/onefactormodels/gaussian1dmodel.hpp | 262 + .../ql/models/shortrate/onefactormodels/gsr.cpp | 219 + .../ql/models/shortrate/onefactormodels/gsr.hpp | 200 + .../models/shortrate/onefactormodels/hullwhite.cpp | 171 + .../models/shortrate/onefactormodels/hullwhite.hpp | 172 + .../shortrate/onefactormodels/markovfunctional.cpp | 1166 + .../shortrate/onefactormodels/markovfunctional.hpp | 542 + .../models/shortrate/onefactormodels/vasicek.cpp | 78 + .../models/shortrate/onefactormodels/vasicek.hpp | 108 + .../include/ql/models/shortrate/twofactormodel.cpp | 62 + .../include/ql/models/shortrate/twofactormodel.hpp | 133 + .../models/shortrate/twofactormodels/Makefile.am | 45 + .../ql/models/shortrate/twofactormodels/all.hpp | 5 + .../ql/models/shortrate/twofactormodels/g2.cpp | 248 + .../ql/models/shortrate/twofactormodels/g2.hpp | 186 + install/include/ql/models/volatility/Makefile.am | 49 + install/include/ql/models/volatility/all.hpp | 8 + .../ql/models/volatility/constantestimator.cpp | 47 + .../ql/models/volatility/constantestimator.hpp | 48 + install/include/ql/models/volatility/garch.cpp | 559 + install/include/ql/models/volatility/garch.hpp | 265 + .../include/ql/models/volatility/garmanklass.hpp | 181 + .../ql/models/volatility/simplelocalestimator.hpp | 60 + install/include/ql/money.cpp | 168 + install/include/ql/money.hpp | 255 + install/include/ql/numericalmethod.hpp | 101 + install/include/ql/option.hpp | 114 + install/include/ql/optional.hpp | 49 + install/include/ql/patterns/Makefile.am | 49 + install/include/ql/patterns/all.hpp | 9 + install/include/ql/patterns/curiouslyrecurring.hpp | 56 + install/include/ql/patterns/lazyobject.hpp | 271 + install/include/ql/patterns/observable.cpp | 205 + install/include/ql/patterns/observable.hpp | 582 + install/include/ql/patterns/singleton.hpp | 113 + install/include/ql/patterns/visitor.hpp | 49 + install/include/ql/payoff.hpp | 69 + install/include/ql/position.cpp | 37 + install/include/ql/position.hpp | 44 + install/include/ql/prices.cpp | 152 + install/include/ql/prices.hpp | 109 + install/include/ql/pricingengine.hpp | 79 + install/include/ql/pricingengines/Makefile.am | 78 + install/include/ql/pricingengines/all.hpp | 29 + .../ql/pricingengines/americanpayoffatexpiry.cpp | 183 + .../ql/pricingengines/americanpayoffatexpiry.hpp | 72 + .../ql/pricingengines/americanpayoffathit.cpp | 236 + .../ql/pricingengines/americanpayoffathit.hpp | 73 + .../include/ql/pricingengines/asian/Makefile.am | 68 + install/include/ql/pricingengines/asian/all.hpp | 17 + .../asian/analytic_cont_geom_av_price.cpp | 102 + .../asian/analytic_cont_geom_av_price.hpp | 63 + .../asian/analytic_discr_geom_av_price.cpp | 167 + .../asian/analytic_discr_geom_av_price.hpp | 63 + .../asian/analytic_discr_geom_av_strike.cpp | 137 + .../asian/analytic_discr_geom_av_strike.hpp | 58 + .../ql/pricingengines/asian/choiasianengine.cpp | 168 + .../ql/pricingengines/asian/choiasianengine.hpp | 65 + .../asian/continuousarithmeticasianlevyengine.cpp | 112 + .../asian/continuousarithmeticasianlevyengine.hpp | 53 + .../asian/fdblackscholesasianengine.cpp | 125 + .../asian/fdblackscholesasianengine.hpp | 63 + .../asian/mc_discr_arith_av_price.cpp | 54 + .../asian/mc_discr_arith_av_price.hpp | 291 + .../asian/mc_discr_arith_av_price_heston.cpp | 51 + .../asian/mc_discr_arith_av_price_heston.hpp | 325 + .../asian/mc_discr_arith_av_strike.cpp | 53 + .../asian/mc_discr_arith_av_strike.hpp | 226 + .../asian/mc_discr_geom_av_price.cpp | 61 + .../asian/mc_discr_geom_av_price.hpp | 237 + .../asian/mc_discr_geom_av_price_heston.cpp | 62 + .../asian/mc_discr_geom_av_price_heston.hpp | 257 + .../asian/mcdiscreteasianenginebase.hpp | 205 + .../asian/turnbullwakemanasianengine.cpp | 133 + .../asian/turnbullwakemanasianengine.hpp | 62 + .../include/ql/pricingengines/barrier/Makefile.am | 73 + install/include/ql/pricingengines/barrier/all.hpp | 19 + .../barrier/analyticbarrierengine.cpp | 266 + .../barrier/analyticbarrierengine.hpp | 78 + .../barrier/analyticbinarybarrierengine.cpp | 324 + .../barrier/analyticbinarybarrierengine.hpp | 58 + .../barrier/analyticdoublebarrierbinaryengine.cpp | 307 + .../barrier/analyticdoublebarrierbinaryengine.hpp | 63 + .../barrier/analyticdoublebarrierengine.cpp | 243 + .../barrier/analyticdoublebarrierengine.hpp | 83 + .../analyticpartialtimebarrieroptionengine.cpp | 373 + .../analyticpartialtimebarrieroptionengine.hpp | 79 + .../barrier/analyticsoftbarrierengine.cpp | 306 + .../barrier/analyticsoftbarrierengine.hpp | 82 + .../barrier/analytictwoassetbarrierengine.cpp | 244 + .../barrier/analytictwoassetbarrierengine.hpp | 99 + .../barrier/binomialbarrierengine.hpp | 219 + .../barrier/discretizedbarrieroption.cpp | 216 + .../barrier/discretizedbarrieroption.hpp | 85 + .../barrier/fdblackscholesbarrierengine.cpp | 208 + .../barrier/fdblackscholesbarrierengine.hpp | 76 + .../barrier/fdblackscholesrebateengine.cpp | 145 + .../barrier/fdblackscholesrebateengine.hpp | 71 + .../barrier/fdhestonbarrierengine.cpp | 208 + .../barrier/fdhestonbarrierengine.hpp | 83 + .../barrier/fdhestondoublebarrierengine.cpp | 123 + .../barrier/fdhestondoublebarrierengine.hpp | 71 + .../barrier/fdhestonrebateengine.cpp | 160 + .../barrier/fdhestonrebateengine.hpp | 78 + .../ql/pricingengines/barrier/mcbarrierengine.cpp | 249 + .../ql/pricingengines/barrier/mcbarrierengine.hpp | 372 + .../include/ql/pricingengines/basket/Makefile.am | 69 + install/include/ql/pricingengines/basket/all.hpp | 17 + .../basket/bjerksundstenslandspreadengine.cpp | 61 + .../basket/bjerksundstenslandspreadengine.hpp | 52 + .../ql/pricingengines/basket/choibasketengine.cpp | 261 + .../ql/pricingengines/basket/choibasketengine.hpp | 69 + .../basket/denglizhoubasketengine.cpp | 292 + .../basket/denglizhoubasketengine.hpp | 75 + .../basket/fd2dblackscholesvanillaengine.cpp | 110 + .../basket/fd2dblackscholesvanillaengine.hpp | 68 + .../basket/fdndimblackscholesvanillaengine.cpp | 225 + .../basket/fdndimblackscholesvanillaengine.hpp | 71 + .../ql/pricingengines/basket/kirkengine.cpp | 52 + .../ql/pricingengines/basket/kirkengine.hpp | 55 + .../basket/mcamericanbasketengine.cpp | 86 + .../basket/mcamericanbasketengine.hpp | 308 + .../basket/mceuropeanbasketengine.cpp | 48 + .../basket/mceuropeanbasketengine.hpp | 301 + .../basket/operatorsplittingspreadengine.cpp | 186 + .../basket/operatorsplittingspreadengine.hpp | 56 + .../basket/singlefactorbsmbasketengine.cpp | 190 + .../basket/singlefactorbsmbasketengine.hpp | 82 + .../basket/spreadblackscholesvanillaengine.cpp | 72 + .../basket/spreadblackscholesvanillaengine.hpp | 52 + .../ql/pricingengines/basket/stulzengine.cpp | 208 + .../ql/pricingengines/basket/stulzengine.hpp | 60 + .../basket/vectorbsmprocessextractor.cpp | 96 + .../basket/vectorbsmprocessextractor.hpp | 53 + .../include/ql/pricingengines/blackcalculator.cpp | 369 + .../include/ql/pricingengines/blackcalculator.hpp | 143 + install/include/ql/pricingengines/blackformula.cpp | 972 + install/include/ql/pricingengines/blackformula.hpp | 424 + .../ql/pricingengines/blackscholescalculator.cpp | 54 + .../ql/pricingengines/blackscholescalculator.hpp | 94 + install/include/ql/pricingengines/bond/Makefile.am | 52 + install/include/ql/pricingengines/bond/all.hpp | 9 + .../bond/binomialconvertibleengine.hpp | 136 + .../ql/pricingengines/bond/bondfunctions.cpp | 552 + .../ql/pricingengines/bond/bondfunctions.hpp | 263 + .../pricingengines/bond/discountingbondengine.cpp | 69 + .../pricingengines/bond/discountingbondengine.hpp | 55 + .../pricingengines/bond/discretizedconvertible.cpp | 249 + .../pricingengines/bond/discretizedconvertible.hpp | 91 + .../ql/pricingengines/bond/riskybondengine.cpp | 76 + .../ql/pricingengines/bond/riskybondengine.hpp | 90 + .../include/ql/pricingengines/capfloor/Makefile.am | 57 + install/include/ql/pricingengines/capfloor/all.hpp | 11 + .../capfloor/analyticcapfloorengine.cpp | 120 + .../capfloor/analyticcapfloorengine.hpp | 55 + .../capfloor/bacheliercapfloorengine.cpp | 151 + .../capfloor/bacheliercapfloorengine.hpp | 56 + .../capfloor/blackcapfloorengine.cpp | 168 + .../capfloor/blackcapfloorengine.hpp | 64 + .../capfloor/discretizedcapfloor.cpp | 117 + .../capfloor/discretizedcapfloor.hpp | 54 + .../capfloor/gaussian1dcapfloorengine.cpp | 222 + .../capfloor/gaussian1dcapfloorengine.hpp | 64 + .../pricingengines/capfloor/mchullwhiteengine.cpp | 110 + .../pricingengines/capfloor/mchullwhiteengine.hpp | 250 + .../pricingengines/capfloor/treecapfloorengine.cpp | 83 + .../pricingengines/capfloor/treecapfloorengine.hpp | 60 + .../include/ql/pricingengines/cliquet/Makefile.am | 49 + install/include/ql/pricingengines/cliquet/all.hpp | 7 + .../cliquet/analyticcliquetengine.cpp | 114 + .../cliquet/analyticcliquetengine.hpp | 53 + .../cliquet/analyticperformanceengine.cpp | 114 + .../cliquet/analyticperformanceengine.hpp | 50 + .../pricingengines/cliquet/mcperformanceengine.cpp | 45 + .../pricingengines/cliquet/mcperformanceengine.hpp | 257 + .../include/ql/pricingengines/credit/Makefile.am | 49 + install/include/ql/pricingengines/credit/all.hpp | 7 + .../ql/pricingengines/credit/integralcdsengine.cpp | 197 + .../ql/pricingengines/credit/integralcdsengine.hpp | 53 + .../ql/pricingengines/credit/isdacdsengine.cpp | 366 + .../ql/pricingengines/credit/isdacdsengine.hpp | 122 + .../ql/pricingengines/credit/midpointcdsengine.cpp | 187 + .../ql/pricingengines/credit/midpointcdsengine.hpp | 52 + .../include/ql/pricingengines/exotic/Makefile.am | 59 + install/include/ql/pricingengines/exotic/all.hpp | 12 + .../exotic/analyticamericanmargrabeengine.cpp | 110 + .../exotic/analyticamericanmargrabeengine.hpp | 56 + .../exotic/analyticcomplexchooserengine.cpp | 181 + .../exotic/analyticcomplexchooserengine.hpp | 62 + .../exotic/analyticcompoundoptionengine.cpp | 298 + .../exotic/analyticcompoundoptionengine.hpp | 101 + .../exotic/analyticeuropeanmargrabeengine.cpp | 108 + .../exotic/analyticeuropeanmargrabeengine.hpp | 56 + .../analyticholderextensibleoptionengine.cpp | 342 + .../analyticholderextensibleoptionengine.hpp | 68 + .../exotic/analyticsimplechooserengine.cpp | 87 + .../exotic/analyticsimplechooserengine.hpp | 44 + .../exotic/analytictwoassetcorrelationengine.cpp | 84 + .../exotic/analytictwoassetcorrelationengine.hpp | 51 + .../analyticwriterextensibleoptionengine.cpp | 131 + .../analyticwriterextensibleoptionengine.hpp | 47 + .../include/ql/pricingengines/forward/Makefile.am | 52 + install/include/ql/pricingengines/forward/all.hpp | 11 + .../ql/pricingengines/forward/forwardengine.hpp | 178 + .../forward/forwardperformanceengine.hpp | 96 + .../forward/mcforwardeuropeanbsengine.cpp | 43 + .../forward/mcforwardeuropeanbsengine.hpp | 258 + .../forward/mcforwardeuropeanhestonengine.cpp | 44 + .../forward/mcforwardeuropeanhestonengine.hpp | 310 + .../forward/mcforwardvanillaengine.hpp | 179 + .../forward/mcvarianceswapengine.hpp | 344 + .../forward/replicatingvarianceswapengine.hpp | 233 + .../ql/pricingengines/genericmodelengine.hpp | 58 + install/include/ql/pricingengines/greeks.cpp | 41 + install/include/ql/pricingengines/greeks.hpp | 42 + .../ql/pricingengines/inflation/Makefile.am | 45 + .../include/ql/pricingengines/inflation/all.hpp | 5 + .../inflation/inflationcapfloorengines.cpp | 187 + .../inflation/inflationcapfloorengines.hpp | 113 + .../pricingengines/latticeshortratemodelengine.hpp | 100 + .../include/ql/pricingengines/lookback/Makefile.am | 53 + install/include/ql/pricingengines/lookback/all.hpp | 9 + .../lookback/analyticcontinuousfixedlookback.cpp | 154 + .../lookback/analyticcontinuousfixedlookback.hpp | 71 + .../analyticcontinuousfloatinglookback.cpp | 111 + .../analyticcontinuousfloatinglookback.hpp | 68 + .../analyticcontinuouspartialfixedlookback.cpp | 156 + .../analyticcontinuouspartialfixedlookback.hpp | 71 + .../analyticcontinuouspartialfloatinglookback.cpp | 178 + .../analyticcontinuouspartialfloatinglookback.hpp | 74 + .../pricingengines/lookback/mclookbackengine.cpp | 256 + .../pricingengines/lookback/mclookbackengine.hpp | 295 + .../pricingengines/mclongstaffschwartzengine.hpp | 261 + install/include/ql/pricingengines/mcsimulation.hpp | 224 + .../include/ql/pricingengines/quanto/Makefile.am | 20 + install/include/ql/pricingengines/quanto/all.hpp | 5 + .../ql/pricingengines/quanto/quantoengine.hpp | 178 + install/include/ql/pricingengines/swap/Makefile.am | 51 + install/include/ql/pricingengines/swap/all.hpp | 8 + .../ql/pricingengines/swap/cvaswapengine.cpp | 219 + .../ql/pricingengines/swap/cvaswapengine.hpp | 125 + .../pricingengines/swap/discountingswapengine.cpp | 114 + .../pricingengines/swap/discountingswapengine.hpp | 58 + .../ql/pricingengines/swap/discretizedswap.cpp | 219 + .../ql/pricingengines/swap/discretizedswap.hpp | 70 + .../ql/pricingengines/swap/treeswapengine.cpp | 78 + .../ql/pricingengines/swap/treeswapengine.hpp | 63 + .../include/ql/pricingengines/swaption/Makefile.am | 66 + install/include/ql/pricingengines/swaption/all.hpp | 16 + .../swaption/basketgeneratingengine.cpp | 244 + .../swaption/basketgeneratingengine.hpp | 235 + .../swaption/blackswaptionengine.cpp | 79 + .../swaption/blackswaptionengine.hpp | 333 + .../swaption/discretizedswaption.cpp | 126 + .../swaption/discretizedswaption.hpp | 57 + .../pricingengines/swaption/fdg2swaptionengine.cpp | 122 + .../pricingengines/swaption/fdg2swaptionengine.hpp | 51 + .../swaption/fdhullwhiteswaptionengine.cpp | 107 + .../swaption/fdhullwhiteswaptionengine.hpp | 54 + .../pricingengines/swaption/g2swaptionengine.hpp | 76 + .../gaussian1dfloatfloatswaptionengine.cpp | 692 + .../gaussian1dfloatfloatswaptionengine.hpp | 156 + .../gaussian1djamshidianswaptionengine.cpp | 126 + .../gaussian1djamshidianswaptionengine.hpp | 56 + .../gaussian1dnonstandardswaptionengine.cpp | 497 + .../gaussian1dnonstandardswaptionengine.hpp | 139 + .../swaption/gaussian1dswaptionengine.cpp | 346 + .../swaption/gaussian1dswaptionengine.hpp | 99 + .../swaption/jamshidianswaptionengine.cpp | 131 + .../swaption/jamshidianswaptionengine.hpp | 70 + .../pricingengines/swaption/treeswaptionengine.cpp | 98 + .../pricingengines/swaption/treeswaptionengine.hpp | 72 + .../include/ql/pricingengines/vanilla/Makefile.am | 122 + install/include/ql/pricingengines/vanilla/all.hpp | 45 + .../vanilla/analyticbsmhullwhiteengine.cpp | 133 + .../vanilla/analyticbsmhullwhiteengine.hpp | 63 + .../pricingengines/vanilla/analyticcevengine.cpp | 113 + .../pricingengines/vanilla/analyticcevengine.hpp | 74 + .../vanilla/analyticdigitalamericanengine.cpp | 81 + .../vanilla/analyticdigitalamericanengine.hpp | 101 + .../vanilla/analyticdividendeuropeanengine.cpp | 121 + .../vanilla/analyticdividendeuropeanengine.hpp | 52 + .../vanilla/analyticeuropeanengine.cpp | 118 + .../vanilla/analyticeuropeanengine.hpp | 86 + .../vanilla/analyticeuropeanvasicekengine.cpp | 94 + .../vanilla/analyticeuropeanvasicekengine.hpp | 54 + .../vanilla/analyticgjrgarchengine.cpp | 284 + .../vanilla/analyticgjrgarchengine.hpp | 91 + .../pricingengines/vanilla/analytich1hwengine.cpp | 163 + .../pricingengines/vanilla/analytich1hwengine.hpp | 88 + .../vanilla/analytichestonengine.cpp | 1165 + .../vanilla/analytichestonengine.hpp | 313 + .../vanilla/analytichestonhullwhiteengine.cpp | 77 + .../vanilla/analytichestonhullwhiteengine.hpp | 101 + .../vanilla/analyticpdfhestonengine.cpp | 84 + .../vanilla/analyticpdfhestonengine.hpp | 75 + .../vanilla/analyticptdhestonengine.cpp | 411 + .../vanilla/analyticptdhestonengine.hpp | 101 + .../vanilla/baroneadesiwhaleyengine.cpp | 233 + .../vanilla/baroneadesiwhaleyengine.hpp | 58 + .../ql/pricingengines/vanilla/batesengine.cpp | 145 + .../ql/pricingengines/vanilla/batesengine.hpp | 159 + .../ql/pricingengines/vanilla/binomialengine.hpp | 177 + .../vanilla/bjerksundstenslandengine.cpp | 507 + .../vanilla/bjerksundstenslandengine.hpp | 59 + .../ql/pricingengines/vanilla/coshestonengine.cpp | 302 + .../ql/pricingengines/vanilla/coshestonengine.hpp | 86 + .../vanilla/discretizedvanillaoption.cpp | 80 + .../vanilla/discretizedvanillaoption.hpp | 59 + .../vanilla/exponentialfittinghestonengine.cpp | 307 + .../vanilla/exponentialfittinghestonengine.hpp | 72 + .../vanilla/fdbatesvanillaengine.cpp | 84 + .../vanilla/fdbatesvanillaengine.hpp | 65 + .../vanilla/fdblackscholesshoutengine.cpp | 131 + .../vanilla/fdblackscholesshoutengine.hpp | 64 + .../vanilla/fdblackscholesvanillaengine.cpp | 292 + .../vanilla/fdblackscholesvanillaengine.hpp | 148 + .../pricingengines/vanilla/fdcevvanillaengine.cpp | 164 + .../pricingengines/vanilla/fdcevvanillaengine.hpp | 58 + .../pricingengines/vanilla/fdcirvanillaengine.cpp | 194 + .../pricingengines/vanilla/fdcirvanillaengine.hpp | 116 + .../vanilla/fdhestonhullwhitevanillaengine.cpp | 245 + .../vanilla/fdhestonhullwhitevanillaengine.hpp | 96 + .../vanilla/fdhestonvanillaengine.cpp | 312 + .../vanilla/fdhestonvanillaengine.hpp | 152 + .../pricingengines/vanilla/fdmultiperiodengine.hpp | 28 + .../pricingengines/vanilla/fdsabrvanillaengine.cpp | 146 + .../pricingengines/vanilla/fdsabrvanillaengine.hpp | 61 + .../vanilla/fdsimplebsswingengine.cpp | 113 + .../vanilla/fdsimplebsswingengine.hpp | 55 + .../ql/pricingengines/vanilla/fdvanillaengine.hpp | 30 + .../vanilla/hestonexpansionengine.cpp | 739 + .../vanilla/hestonexpansionengine.hpp | 137 + .../ql/pricingengines/vanilla/integralengine.cpp | 87 + .../ql/pricingengines/vanilla/integralengine.hpp | 51 + .../pricingengines/vanilla/jumpdiffusionengine.cpp | 180 + .../pricingengines/vanilla/jumpdiffusionengine.hpp | 61 + .../pricingengines/vanilla/juquadraticengine.cpp | 183 + .../pricingengines/vanilla/juquadraticengine.hpp | 65 + .../ql/pricingengines/vanilla/mcamericanengine.cpp | 74 + .../ql/pricingengines/vanilla/mcamericanengine.hpp | 403 + .../ql/pricingengines/vanilla/mcdigitalengine.cpp | 112 + .../ql/pricingengines/vanilla/mcdigitalengine.hpp | 280 + .../ql/pricingengines/vanilla/mceuropeanengine.hpp | 262 + .../vanilla/mceuropeangjrgarchengine.hpp | 237 + .../vanilla/mceuropeanhestonengine.hpp | 240 + .../vanilla/mchestonhullwhiteengine.cpp | 48 + .../vanilla/mchestonhullwhiteengine.hpp | 314 + .../ql/pricingengines/vanilla/mcvanillaengine.hpp | 169 + .../pricingengines/vanilla/qdfpamericanengine.cpp | 522 + .../pricingengines/vanilla/qdfpamericanengine.hpp | 145 + .../vanilla/qdplusamericanengine.cpp | 396 + .../vanilla/qdplusamericanengine.hpp | 130 + install/include/ql/processes/Makefile.am | 85 + install/include/ql/processes/all.hpp | 25 + install/include/ql/processes/batesprocess.cpp | 80 + install/include/ql/processes/batesprocess.hpp | 74 + .../include/ql/processes/blackscholesprocess.cpp | 275 + .../include/ql/processes/blackscholesprocess.hpp | 207 + .../ql/processes/coxingersollrossprocess.cpp | 41 + .../ql/processes/coxingersollrossprocess.hpp | 142 + .../ql/processes/endeulerdiscretization.cpp | 63 + .../ql/processes/endeulerdiscretization.hpp | 70 + .../include/ql/processes/eulerdiscretization.cpp | 63 + .../include/ql/processes/eulerdiscretization.hpp | 70 + .../include/ql/processes/forwardmeasureprocess.cpp | 54 + .../include/ql/processes/forwardmeasureprocess.hpp | 70 + install/include/ql/processes/g2process.cpp | 225 + install/include/ql/processes/g2process.hpp | 89 + .../ql/processes/geometricbrownianprocess.cpp | 47 + .../ql/processes/geometricbrownianprocess.hpp | 59 + install/include/ql/processes/gjrgarchprocess.cpp | 207 + install/include/ql/processes/gjrgarchprocess.hpp | 112 + install/include/ql/processes/gsrprocess.cpp | 103 + install/include/ql/processes/gsrprocess.hpp | 89 + install/include/ql/processes/gsrprocesscore.cpp | 363 + install/include/ql/processes/gsrprocesscore.hpp | 102 + install/include/ql/processes/hestonprocess.cpp | 580 + install/include/ql/processes/hestonprocess.hpp | 102 + install/include/ql/processes/hestonslvprocess.cpp | 128 + install/include/ql/processes/hestonslvprocess.hpp | 86 + install/include/ql/processes/hullwhiteprocess.cpp | 162 + install/include/ql/processes/hullwhiteprocess.hpp | 91 + .../ql/processes/hybridhestonhullwhiteprocess.cpp | 231 + .../ql/processes/hybridhestonhullwhiteprocess.hpp | 87 + .../ql/processes/jointstochasticprocess.cpp | 310 + .../ql/processes/jointstochasticprocess.hpp | 102 + install/include/ql/processes/merton76process.cpp | 82 + install/include/ql/processes/merton76process.hpp | 73 + install/include/ql/processes/mfstateprocess.cpp | 99 + install/include/ql/processes/mfstateprocess.hpp | 57 + .../ql/processes/ornsteinuhlenbeckprocess.cpp | 45 + .../ql/processes/ornsteinuhlenbeckprocess.hpp | 103 + install/include/ql/processes/squarerootprocess.cpp | 44 + install/include/ql/processes/squarerootprocess.hpp | 66 + .../ql/processes/stochasticprocessarray.cpp | 133 + .../ql/processes/stochasticprocessarray.hpp | 65 + install/include/ql/qldefines.hpp | 221 + install/include/ql/qldefines.hpp.cfg | 222 + install/include/ql/quantlib.hpp | 61 + install/include/ql/quote.cpp | 36 + install/include/ql/quote.hpp | 52 + install/include/ql/quotes/Makefile.am | 58 + install/include/ql/quotes/all.hpp | 13 + install/include/ql/quotes/compositequote.hpp | 100 + install/include/ql/quotes/derivedquote.hpp | 89 + .../include/ql/quotes/eurodollarfuturesquote.cpp | 76 + .../include/ql/quotes/eurodollarfuturesquote.hpp | 63 + install/include/ql/quotes/forwardswapquote.cpp | 99 + install/include/ql/quotes/forwardswapquote.hpp | 69 + install/include/ql/quotes/forwardvaluequote.cpp | 45 + install/include/ql/quotes/forwardvaluequote.hpp | 53 + .../ql/quotes/futuresconvadjustmentquote.cpp | 77 + .../ql/quotes/futuresconvadjustmentquote.hpp | 81 + install/include/ql/quotes/impliedstddevquote.cpp | 65 + install/include/ql/quotes/impliedstddevquote.hpp | 63 + install/include/ql/quotes/lastfixingquote.cpp | 44 + install/include/ql/quotes/lastfixingquote.hpp | 58 + install/include/ql/quotes/simplequote.hpp | 87 + install/include/ql/rebatedexercise.cpp | 54 + install/include/ql/rebatedexercise.hpp | 82 + install/include/ql/settings.cpp | 70 + install/include/ql/settings.hpp | 181 + install/include/ql/shared_ptr.hpp | 59 + install/include/ql/stochasticprocess.cpp | 99 + install/include/ql/stochasticprocess.hpp | 320 + install/include/ql/termstructure.cpp | 74 + install/include/ql/termstructure.hpp | 139 + install/include/ql/termstructures/Makefile.am | 67 + install/include/ql/termstructures/all.hpp | 19 + .../include/ql/termstructures/bootstraperror.hpp | 73 + .../include/ql/termstructures/bootstraphelper.hpp | 252 + .../include/ql/termstructures/credit/Makefile.am | 58 + install/include/ql/termstructures/credit/all.hpp | 14 + .../credit/defaultdensitystructure.cpp | 80 + .../credit/defaultdensitystructure.hpp | 87 + .../credit/defaultprobabilityhelpers.cpp | 226 + .../credit/defaultprobabilityhelpers.hpp | 193 + .../ql/termstructures/credit/flathazardrate.cpp | 57 + .../ql/termstructures/credit/flathazardrate.hpp | 78 + .../termstructures/credit/hazardratestructure.cpp | 84 + .../termstructures/credit/hazardratestructure.hpp | 112 + .../credit/interpolateddefaultdensitycurve.hpp | 269 + .../credit/interpolatedhazardratecurve.hpp | 268 + .../interpolatedsurvivalprobabilitycurve.hpp | 279 + .../credit/piecewisedefaultcurve.hpp | 287 + .../ql/termstructures/credit/probabilitytraits.hpp | 269 + .../credit/survivalprobabilitystructure.cpp | 57 + .../credit/survivalprobabilitystructure.hpp | 85 + .../ql/termstructures/defaulttermstructure.cpp | 128 + .../ql/termstructures/defaulttermstructure.hpp | 251 + .../include/ql/termstructures/globalbootstrap.hpp | 354 + .../ql/termstructures/globalbootstrapvars.cpp | 49 + .../ql/termstructures/globalbootstrapvars.hpp | 32 + .../ql/termstructures/inflation/Makefile.am | 52 + .../include/ql/termstructures/inflation/all.hpp | 11 + .../termstructures/inflation/inflationhelpers.cpp | 239 + .../termstructures/inflation/inflationhelpers.hpp | 123 + .../termstructures/inflation/inflationtraits.hpp | 178 + .../inflation/interpolatedyoyinflationcurve.hpp | 248 + .../inflation/interpolatedzeroinflationcurve.hpp | 176 + .../inflation/piecewiseyoyinflationcurve.hpp | 179 + .../inflation/piecewisezeroinflationcurve.hpp | 154 + .../ql/termstructures/inflation/seasonality.cpp | 279 + .../ql/termstructures/inflation/seasonality.hpp | 192 + .../ql/termstructures/inflationtermstructure.cpp | 373 + .../ql/termstructures/inflationtermstructure.hpp | 331 + .../ql/termstructures/interpolatedcurve.hpp | 142 + .../ql/termstructures/iterativebootstrap.hpp | 394 + .../include/ql/termstructures/localbootstrap.hpp | 299 + .../ql/termstructures/volatility/Makefile.am | 80 + .../include/ql/termstructures/volatility/abcd.cpp | 106 + .../include/ql/termstructures/volatility/abcd.hpp | 110 + .../termstructures/volatility/abcdcalibration.cpp | 212 + .../termstructures/volatility/abcdcalibration.hpp | 128 + .../include/ql/termstructures/volatility/all.hpp | 24 + .../volatility/atmadjustedsmilesection.cpp | 52 + .../volatility/atmadjustedsmilesection.hpp | 84 + .../termstructures/volatility/atmsmilesection.cpp | 32 + .../termstructures/volatility/atmsmilesection.hpp | 59 + .../termstructures/volatility/capfloor/Makefile.am | 50 + .../ql/termstructures/volatility/capfloor/all.hpp | 8 + .../capfloor/capfloortermvolatilitystructure.cpp | 44 + .../capfloor/capfloortermvolatilitystructure.hpp | 111 + .../volatility/capfloor/capfloortermvolcurve.cpp | 188 + .../volatility/capfloor/capfloortermvolcurve.hpp | 169 + .../volatility/capfloor/capfloortermvolsurface.cpp | 228 + .../volatility/capfloor/capfloortermvolsurface.hpp | 169 + .../capfloor/constantcapfloortermvol.cpp | 71 + .../capfloor/constantcapfloortermvol.hpp | 93 + .../termstructures/volatility/equityfx/Makefile.am | 70 + .../ql/termstructures/volatility/equityfx/all.hpp | 20 + .../equityfx/andreasenhugelocalvoladapter.cpp | 63 + .../equityfx/andreasenhugelocalvoladapter.hpp | 57 + .../equityfx/andreasenhugevolatilityadapter.cpp | 69 + .../equityfx/andreasenhugevolatilityadapter.hpp | 57 + .../equityfx/andreasenhugevolatilityinterpl.cpp | 633 + .../equityfx/andreasenhugevolatilityinterpl.hpp | 153 + .../volatility/equityfx/blackconstantvol.hpp | 140 + .../volatility/equityfx/blackvariancecurve.cpp | 74 + .../volatility/equityfx/blackvariancecurve.hpp | 114 + .../volatility/equityfx/blackvariancesurface.cpp | 87 + .../volatility/equityfx/blackvariancesurface.hpp | 111 + .../volatility/equityfx/blackvoltermstructure.cpp | 154 + .../volatility/equityfx/blackvoltermstructure.hpp | 292 + .../volatility/equityfx/fixedlocalvolsurface.cpp | 169 + .../volatility/equityfx/fixedlocalvolsurface.hpp | 96 + .../equityfx/gridmodellocalvolsurface.cpp | 102 + .../equityfx/gridmodellocalvolsurface.hpp | 69 + .../volatility/equityfx/hestonblackvolsurface.cpp | 109 + .../volatility/equityfx/hestonblackvolsurface.hpp | 61 + .../equityfx/impliedvoltermstructure.hpp | 115 + .../volatility/equityfx/localconstantvol.hpp | 123 + .../volatility/equityfx/localvolcurve.hpp | 100 + .../volatility/equityfx/localvolsurface.cpp | 158 + .../volatility/equityfx/localvolsurface.hpp | 81 + .../volatility/equityfx/localvoltermstructure.cpp | 65 + .../volatility/equityfx/localvoltermstructure.hpp | 93 + .../equityfx/noexceptlocalvolsurface.hpp | 67 + .../termstructures/volatility/flatsmilesection.cpp | 46 + .../termstructures/volatility/flatsmilesection.hpp | 80 + .../volatility/gaussian1dsmilesection.cpp | 108 + .../volatility/gaussian1dsmilesection.hpp | 77 + .../volatility/inflation/Makefile.am | 48 + .../ql/termstructures/volatility/inflation/all.hpp | 7 + .../volatility/inflation/constantcpivolatility.cpp | 55 + .../volatility/inflation/constantcpivolatility.hpp | 73 + .../inflation/cpivolatilitystructure.cpp | 158 + .../inflation/cpivolatilitystructure.hpp | 145 + .../yoyinflationoptionletvolatilitystructure.cpp | 229 + .../yoyinflationoptionletvolatilitystructure.hpp | 209 + .../volatility/interpolatedsmilesection.hpp | 226 + .../volatility/kahalesmilesection.cpp | 271 + .../volatility/kahalesmilesection.hpp | 179 + .../volatility/optionlet/Makefile.am | 61 + .../ql/termstructures/volatility/optionlet/all.hpp | 14 + .../volatility/optionlet/capletvariancecurve.hpp | 107 + .../volatility/optionlet/constantoptionletvol.cpp | 92 + .../volatility/optionlet/constantoptionletvol.hpp | 115 + .../volatility/optionlet/optionletstripper.cpp | 177 + .../volatility/optionlet/optionletstripper.hpp | 100 + .../volatility/optionlet/optionletstripper1.cpp | 206 + .../volatility/optionlet/optionletstripper1.hpp | 83 + .../volatility/optionlet/optionletstripper2.cpp | 188 + .../volatility/optionlet/optionletstripper2.hpp | 87 + .../optionlet/optionletvolatilitystructure.cpp | 44 + .../optionlet/optionletvolatilitystructure.hpp | 223 + .../volatility/optionlet/spreadedoptionletvol.cpp | 57 + .../volatility/optionlet/spreadedoptionletvol.hpp | 120 + .../volatility/optionlet/strippedoptionlet.cpp | 192 + .../volatility/optionlet/strippedoptionlet.hpp | 105 + .../optionlet/strippedoptionletadapter.cpp | 146 + .../optionlet/strippedoptionletadapter.hpp | 98 + .../volatility/optionlet/strippedoptionletbase.hpp | 66 + .../include/ql/termstructures/volatility/sabr.cpp | 402 + .../include/ql/termstructures/volatility/sabr.hpp | 134 + .../volatility/sabrinterpolatedsmilesection.cpp | 136 + .../volatility/sabrinterpolatedsmilesection.hpp | 202 + .../termstructures/volatility/sabrsmilesection.cpp | 77 + .../termstructures/volatility/sabrsmilesection.hpp | 68 + .../ql/termstructures/volatility/smilesection.cpp | 144 + .../ql/termstructures/volatility/smilesection.hpp | 119 + .../volatility/smilesectionutils.cpp | 218 + .../volatility/smilesectionutils.hpp | 58 + .../volatility/spreadedsmilesection.cpp | 37 + .../volatility/spreadedsmilesection.hpp | 98 + .../termstructures/volatility/swaption/Makefile.am | 64 + .../ql/termstructures/volatility/swaption/all.hpp | 15 + .../volatility/swaption/cmsmarket.cpp | 264 + .../volatility/swaption/cmsmarket.hpp | 117 + .../volatility/swaption/cmsmarketcalibration.cpp | 576 + .../volatility/swaption/cmsmarketcalibration.hpp | 98 + .../swaption/gaussian1dswaptionvolatility.cpp | 72 + .../swaption/gaussian1dswaptionvolatility.hpp | 91 + .../interpolatedswaptionvolatilitycube.cpp | 115 + .../interpolatedswaptionvolatilitycube.hpp | 80 + .../swaption/sabrswaptionvolatilitycube.hpp | 1182 + .../volatility/swaption/spreadedswaptionvol.cpp | 67 + .../volatility/swaption/spreadedswaptionvol.hpp | 126 + .../volatility/swaption/swaptionconstantvol.cpp | 111 + .../volatility/swaption/swaptionconstantvol.hpp | 132 + .../volatility/swaption/swaptionvolcube.cpp | 146 + .../volatility/swaption/swaptionvolcube.hpp | 138 + .../volatility/swaption/swaptionvoldiscrete.cpp | 197 + .../volatility/swaption/swaptionvoldiscrete.hpp | 126 + .../volatility/swaption/swaptionvolmatrix.cpp | 329 + .../volatility/swaption/swaptionvolmatrix.hpp | 210 + .../volatility/swaption/swaptionvolstructure.cpp | 90 + .../volatility/swaption/swaptionvolstructure.hpp | 491 + .../termstructures/volatility/volatilitytype.hpp | 49 + .../include/ql/termstructures/voltermstructure.cpp | 48 + .../include/ql/termstructures/voltermstructure.hpp | 92 + .../include/ql/termstructures/yield/Makefile.am | 75 + install/include/ql/termstructures/yield/all.hpp | 27 + .../ql/termstructures/yield/bondhelpers.cpp | 158 + .../ql/termstructures/yield/bondhelpers.hpp | 143 + .../ql/termstructures/yield/bootstraptraits.hpp | 410 + .../yield/compositezeroyieldstructure.hpp | 143 + .../ql/termstructures/yield/discountcurve.hpp | 265 + .../yield/fittedbonddiscountcurve.cpp | 339 + .../yield/fittedbonddiscountcurve.hpp | 374 + .../ql/termstructures/yield/flatforward.cpp | 67 + .../ql/termstructures/yield/flatforward.hpp | 114 + .../ql/termstructures/yield/forwardcurve.hpp | 268 + .../yield/forwardspreadedtermstructure.hpp | 131 + .../ql/termstructures/yield/forwardstructure.cpp | 58 + .../ql/termstructures/yield/forwardstructure.hpp | 113 + .../termstructures/yield/impliedtermstructure.hpp | 107 + .../yield/interpolatedsimplezerocurve.hpp | 196 + .../yield/nonlinearfittingmethods.cpp | 359 + .../yield/nonlinearfittingmethods.hpp | 263 + .../ql/termstructures/yield/oisratehelper.cpp | 279 + .../ql/termstructures/yield/oisratehelper.hpp | 195 + .../yield/overnightindexfutureratehelper.cpp | 126 + .../yield/overnightindexfutureratehelper.hpp | 85 + .../piecewiseforwardspreadedtermstructure.hpp | 207 + .../termstructures/yield/piecewiseyieldcurve.hpp | 254 + .../yield/piecewisezerospreadedtermstructure.hpp | 195 + .../termstructures/yield/quantotermstructure.hpp | 137 + .../ql/termstructures/yield/ratehelpers.cpp | 829 + .../ql/termstructures/yield/ratehelpers.hpp | 434 + .../yield/ultimateforwardtermstructure.hpp | 176 + .../include/ql/termstructures/yield/zerocurve.hpp | 282 + .../yield/zerospreadedtermstructure.hpp | 150 + .../ql/termstructures/yield/zeroyieldstructure.cpp | 45 + .../ql/termstructures/yield/zeroyieldstructure.hpp | 100 + .../ql/termstructures/yieldtermstructure.cpp | 197 + .../ql/termstructures/yieldtermstructure.hpp | 208 + install/include/ql/time/Makefile.am | 74 + install/include/ql/time/all.hpp | 19 + install/include/ql/time/asx.cpp | 164 + install/include/ql/time/asx.hpp | 100 + install/include/ql/time/businessdayconvention.cpp | 51 + install/include/ql/time/businessdayconvention.hpp | 78 + install/include/ql/time/calendar.cpp | 304 + install/include/ql/time/calendar.hpp | 289 + install/include/ql/time/calendars/Makefile.am | 132 + install/include/ql/time/calendars/all.hpp | 49 + install/include/ql/time/calendars/argentina.cpp | 68 + install/include/ql/time/calendars/argentina.hpp | 71 + install/include/ql/time/calendars/australia.cpp | 110 + install/include/ql/time/calendars/australia.hpp | 73 + install/include/ql/time/calendars/austria.cpp | 119 + install/include/ql/time/calendars/austria.hpp | 95 + .../include/ql/time/calendars/bespokecalendar.cpp | 56 + .../include/ql/time/calendars/bespokecalendar.hpp | 67 + install/include/ql/time/calendars/botswana.cpp | 72 + install/include/ql/time/calendars/botswana.hpp | 74 + install/include/ql/time/calendars/brazil.cpp | 130 + install/include/ql/time/calendars/brazil.hpp | 102 + install/include/ql/time/calendars/canada.cpp | 119 + install/include/ql/time/calendars/canada.hpp | 95 + install/include/ql/time/calendars/chile.cpp | 121 + install/include/ql/time/calendars/chile.hpp | 76 + install/include/ql/time/calendars/china.cpp | 377 + install/include/ql/time/calendars/china.hpp | 88 + .../include/ql/time/calendars/czechrepublic.cpp | 72 + .../include/ql/time/calendars/czechrepublic.hpp | 68 + install/include/ql/time/calendars/denmark.cpp | 69 + install/include/ql/time/calendars/denmark.hpp | 70 + install/include/ql/time/calendars/finland.cpp | 64 + install/include/ql/time/calendars/finland.hpp | 65 + install/include/ql/time/calendars/france.cpp | 109 + install/include/ql/time/calendars/france.hpp | 89 + install/include/ql/time/calendars/germany.cpp | 199 + install/include/ql/time/calendars/germany.hpp | 154 + install/include/ql/time/calendars/hongkong.cpp | 419 + install/include/ql/time/calendars/hongkong.hpp | 79 + install/include/ql/time/calendars/hungary.cpp | 64 + install/include/ql/time/calendars/hungary.hpp | 65 + install/include/ql/time/calendars/iceland.cpp | 66 + install/include/ql/time/calendars/iceland.hpp | 69 + install/include/ql/time/calendars/india.cpp | 492 + install/include/ql/time/calendars/india.hpp | 86 + install/include/ql/time/calendars/indonesia.cpp | 283 + install/include/ql/time/calendars/indonesia.hpp | 80 + install/include/ql/time/calendars/israel.cpp | 494 + install/include/ql/time/calendars/israel.hpp | 76 + install/include/ql/time/calendars/italy.cpp | 111 + install/include/ql/time/calendars/italy.hpp | 93 + install/include/ql/time/calendars/japan.cpp | 154 + install/include/ql/time/calendars/japan.hpp | 77 + .../include/ql/time/calendars/jointcalendar.cpp | 154 + .../include/ql/time/calendars/jointcalendar.hpp | 92 + install/include/ql/time/calendars/mexico.cpp | 70 + install/include/ql/time/calendars/mexico.hpp | 73 + install/include/ql/time/calendars/newzealand.cpp | 126 + install/include/ql/time/calendars/newzealand.hpp | 91 + install/include/ql/time/calendars/norway.cpp | 64 + install/include/ql/time/calendars/norway.hpp | 65 + install/include/ql/time/calendars/nullcalendar.hpp | 55 + install/include/ql/time/calendars/poland.cpp | 90 + install/include/ql/time/calendars/poland.hpp | 75 + install/include/ql/time/calendars/romania.cpp | 95 + install/include/ql/time/calendars/romania.hpp | 81 + install/include/ql/time/calendars/russia.cpp | 262 + install/include/ql/time/calendars/russia.hpp | 81 + install/include/ql/time/calendars/saudiarabia.cpp | 165 + install/include/ql/time/calendars/saudiarabia.hpp | 67 + install/include/ql/time/calendars/singapore.cpp | 224 + install/include/ql/time/calendars/singapore.hpp | 76 + install/include/ql/time/calendars/slovakia.cpp | 75 + install/include/ql/time/calendars/slovakia.hpp | 72 + install/include/ql/time/calendars/southafrica.cpp | 91 + install/include/ql/time/calendars/southafrica.hpp | 72 + install/include/ql/time/calendars/southkorea.cpp | 298 + install/include/ql/time/calendars/southkorea.hpp | 100 + install/include/ql/time/calendars/sweden.cpp | 69 + install/include/ql/time/calendars/sweden.hpp | 67 + install/include/ql/time/calendars/switzerland.cpp | 62 + install/include/ql/time/calendars/switzerland.hpp | 64 + install/include/ql/time/calendars/taiwan.cpp | 466 + install/include/ql/time/calendars/taiwan.hpp | 73 + install/include/ql/time/calendars/target.cpp | 57 + install/include/ql/time/calendars/target.hpp | 64 + install/include/ql/time/calendars/thailand.cpp | 311 + install/include/ql/time/calendars/thailand.hpp | 83 + install/include/ql/time/calendars/turkey.cpp | 263 + install/include/ql/time/calendars/turkey.hpp | 69 + install/include/ql/time/calendars/ukraine.cpp | 65 + install/include/ql/time/calendars/ukraine.hpp | 69 + .../include/ql/time/calendars/unitedkingdom.cpp | 164 + .../include/ql/time/calendars/unitedkingdom.hpp | 120 + install/include/ql/time/calendars/unitedstates.cpp | 404 + install/include/ql/time/calendars/unitedstates.hpp | 212 + install/include/ql/time/calendars/weekendsonly.cpp | 35 + install/include/ql/time/calendars/weekendsonly.hpp | 52 + install/include/ql/time/date.cpp | 1006 + install/include/ql/time/date.hpp | 477 + install/include/ql/time/dategenerationrule.cpp | 54 + install/include/ql/time/dategenerationrule.hpp | 78 + install/include/ql/time/daycounter.hpp | 150 + install/include/ql/time/daycounters/Makefile.am | 62 + install/include/ql/time/daycounters/actual360.hpp | 67 + install/include/ql/time/daycounters/actual364.hpp | 50 + .../include/ql/time/daycounters/actual36525.hpp | 66 + .../include/ql/time/daycounters/actual365fixed.cpp | 101 + .../include/ql/time/daycounters/actual365fixed.hpp | 84 + install/include/ql/time/daycounters/actual366.hpp | 66 + .../include/ql/time/daycounters/actualactual.cpp | 343 + .../include/ql/time/daycounters/actualactual.hpp | 98 + install/include/ql/time/daycounters/all.hpp | 16 + .../include/ql/time/daycounters/business252.cpp | 144 + .../include/ql/time/daycounters/business252.hpp | 56 + install/include/ql/time/daycounters/one.hpp | 55 + .../ql/time/daycounters/simpledaycounter.cpp | 54 + .../ql/time/daycounters/simpledaycounter.hpp | 63 + install/include/ql/time/daycounters/thirty360.cpp | 143 + install/include/ql/time/daycounters/thirty360.hpp | 140 + install/include/ql/time/daycounters/thirty365.cpp | 36 + install/include/ql/time/daycounters/thirty365.hpp | 50 + .../ql/time/daycounters/yearfractiontodate.cpp | 64 + .../ql/time/daycounters/yearfractiontodate.hpp | 36 + install/include/ql/time/ecb.cpp | 315 + install/include/ql/time/ecb.hpp | 101 + install/include/ql/time/frequency.cpp | 62 + install/include/ql/time/frequency.hpp | 58 + install/include/ql/time/imm.cpp | 209 + install/include/ql/time/imm.hpp | 103 + install/include/ql/time/period.cpp | 452 + install/include/ql/time/period.hpp | 184 + install/include/ql/time/schedule.cpp | 652 + install/include/ql/time/schedule.hpp | 245 + install/include/ql/time/timeunit.cpp | 53 + install/include/ql/time/timeunit.hpp | 54 + install/include/ql/time/weekday.cpp | 122 + install/include/ql/time/weekday.hpp | 101 + install/include/ql/timegrid.cpp | 98 + install/include/ql/timegrid.hpp | 187 + install/include/ql/timeseries.hpp | 264 + install/include/ql/tuple.hpp | 57 + install/include/ql/types.hpp | 87 + install/include/ql/userconfig.hpp | 164 + install/include/ql/utilities/Makefile.am | 56 + install/include/ql/utilities/all.hpp | 14 + install/include/ql/utilities/clone.hpp | 130 + install/include/ql/utilities/dataformatters.cpp | 58 + install/include/ql/utilities/dataformatters.hpp | 189 + install/include/ql/utilities/dataparsers.cpp | 116 + install/include/ql/utilities/dataparsers.hpp | 57 + install/include/ql/utilities/null.hpp | 80 + install/include/ql/utilities/null_deleter.hpp | 35 + install/include/ql/utilities/observablevalue.hpp | 123 + install/include/ql/utilities/steppingiterator.hpp | 178 + install/include/ql/utilities/tracing.cpp | 27 + install/include/ql/utilities/tracing.hpp | 277 + install/include/ql/utilities/variants.hpp | 19 + install/include/ql/utilities/vectors.hpp | 48 + install/include/ql/version.cpp | 43 + install/include/ql/version.hpp | 52 + install/include/ql/volatilitymodel.hpp | 52 + ql/CMakeLists.txt | 6 + ql/instruments/Makefile.am | 4 + ql/instruments/all.hpp | 3 +- ql/instruments/softbarrieroption.cpp | 104 + ql/instruments/softbarriertype.cpp | 42 + ql/instruments/softbarriertype.hpp | 49 + ql/pricingengines/barrier/Makefile.am | 3 + ql/pricingengines/barrier/all.hpp | 1 + .../barrier/analyticsoftbarrierengine.cpp | 267 +- .../barrier/analyticsoftbarrierengine.hpp | 10 +- test-suite/softbarrieroption.cpp | 8 +- 2492 files changed, 439841 insertions(+), 120 deletions(-) commit 7d3792bf4439901c14fec804159e014072116df2 Author: wday0507 Date: Fri, 18 Jul 2025 16:55:20 +0100 adding in test cases and edits to pricing engine cpp .../barrier/analyticsoftbarrierengine.cpp | 5 +- test-suite/softbarrieroption.cpp | 172 +++++++++++++++++++++ 2 files changed, 175 insertions(+), 2 deletions(-) commit eed9946cceb70b8a99aa638d06ac7d4b7f3b5b1b Author: wday0507 Date: Fri, 18 Jul 2025 16:51:21 +0100 adding in soft barrier pricing engine cpp .../barrier/analyticsoftbarrierengine.cpp | 273 +++++++++++++++++++++ .../barrier/analyticsoftbarrierengine.hpp | 2 - 2 files changed, 273 insertions(+), 2 deletions(-) commit 0852338dbd78941b82141ad1fd2ab3b3fc250518 Author: wday0507 Date: Fri, 18 Jul 2025 16:48:40 +0100 adding in soft barrier pricing engine hpp .../barrier/analyticsoftbarrierengine.hpp | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) commit 97ebd575ecd09bb2e58e6e151f46bf1ab837c2bd Author: wday0507 Date: Fri, 18 Jul 2025 16:36:42 +0100 Implement SoftBarrierOption and SoftBarrierType classes ql/instruments/softbarrieroption.cpp | 0 ql/instruments/softbarrieroption.hpp | 80 ++++++++++++++++++++++++++++++++++++ ql/instruments/softbarriertype.cpp | 0 ql/instruments/softbarriertype.hpp | 0 4 files changed, 80 insertions(+) commit 69eb532b4cc6f9f3d685380b000d6469f6eaf362 Author: Vladimir Polin Date: Thu, 24 Jul 2025 19:13:23 -0700 The comment corrected ql/math/rounding.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d56338a93fec6269f140e6d5b202d977d0c84c41 Author: Vladimir Polin Date: Thu, 24 Jul 2025 18:57:58 -0700 code review feedback incorporated, gcc version improved a bit. ql/math/rounding.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit b7e142b9605e347d6448dd8f293fa1ec63343005 Author: Luigi Ballabio Date: Thu, 24 Jul 2025 11:58:52 +0200 Re-enable tests for VC++ 2022 builds This reverts commit d0ec3e34ba76e13cedf0e4e51b39b6219d089dc4. .github/workflows/cmake.yml | 3 --- .github/workflows/msvc-all-configs.yml | 4 ++-- .github/workflows/msvc-nondefault.yml | 2 -- .github/workflows/msvc.yml | 2 -- 4 files changed, 2 insertions(+), 9 deletions(-) commit db5f6d289e2411bb4e116822738af921a3a2da9b Merge: e63b02841 291905891 Author: Luigi Ballabio Date: Wed, 23 Jul 2025 18:33:37 +0200 Remove features deprecated in version 1.35 (#2268) commit b9c8b6c93746e798ef8444f22c3bc0f7262c8296 Author: Eugene Toder Date: Wed, 23 Jul 2025 11:03:27 -0400 Allow specifying float BusinessDayConvention in SwapRateHelper ql/termstructures/yield/ratehelpers.cpp | 18 +++++++++++++----- ql/termstructures/yield/ratehelpers.hpp | 7 +++++-- 2 files changed, 18 insertions(+), 7 deletions(-) commit e63b02841c9b0e3f27cdf529194302e8708d95c8 Merge: 72df06287 0bb38af4c Author: Luigi Ballabio Date: Wed, 23 Jul 2025 14:33:40 +0200 Make Null constexpr (#2260) commit 72df062871f9e94ae10b34024034234108d21d43 Author: Luigi Ballabio Date: Thu, 15 Apr 2021 16:25:45 +0200 Set version to 1.40-dev. CMakeLists.txt | 6 +++--- configure.ac | 2 +- ql/version.hpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) commit 5deb55e78da3eca6883023a0ba116255b1195763 Author: Vladimir Polin Date: Tue, 22 Jul 2025 09:44:43 -0700 pow() optimization for quantlib benchmarking ql/math/rounding.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit 068b6b87d1eeaa77d302d8f766bb33be2a9a15af Author: RalfKonrad Date: Wed, 16 Jul 2025 11:03:18 +0200 The windows cl compiler bug should be fixed, let's test it .github/workflows/cmake_runners-latest-matrix.yml | 3 --- 1 file changed, 3 deletions(-) commit 76d0ced4a4204568397bc8faf5302f2fbed45620 Author: Ignacio Peña Date: Tue, 15 Jul 2025 12:21:26 -0400 Fix potential dangling reference in MultiCubicSpline The ae_ member was declared as a reference but initialized with a temporary default parameter. This could cause undefined behavior when the constructor is called without the third argument. Changed to value member to ensure proper object lifetime. ql/math/interpolations/multicubicspline.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ded9529b3df4ef1bc35e93dbb8ad9ede09c6aac3 Author: Eugene Toder Date: Mon, 14 Jul 2025 21:31:43 -0400 Allow specifying BusinessDayConvention in OISRateHelper ql/termstructures/yield/oisratehelper.cpp | 14 ++++++++++---- ql/termstructures/yield/oisratehelper.hpp | 7 +++++-- 2 files changed, 15 insertions(+), 6 deletions(-) commit 49ecdca9a14e9268c5d1fed26b5359405a00b107 Author: Eugene Toder Date: Thu, 10 Jul 2025 16:11:02 -0400 Remove BootstrapError class These days we can simply use a lambda and don't need to expose our implementation detail, add it as a friend, allocate a vector of errors etc. QuantLib.vcxproj | 1 - QuantLib.vcxproj.filters | 3 - ql/CMakeLists.txt | 1 - .../inflation/piecewiseyoyoptionletvolatility.hpp | 1 - ql/termstructures/Makefile.am | 1 - ql/termstructures/all.hpp | 1 - ql/termstructures/bootstraperror.hpp | 73 ---------------------- ql/termstructures/credit/piecewisedefaultcurve.hpp | 1 - ql/termstructures/globalbootstrap.hpp | 1 - .../inflation/piecewiseyoyinflationcurve.hpp | 1 - .../inflation/piecewisezeroinflationcurve.hpp | 1 - ql/termstructures/iterativebootstrap.hpp | 38 ++++++----- ql/termstructures/yield/piecewiseyieldcurve.hpp | 1 - 13 files changed, 18 insertions(+), 106 deletions(-) commit 0bb38af4cf9f3fecfb2d09ae2eb54b3059a23f3a Author: Eugene Toder Date: Mon, 23 Jun 2025 15:09:38 -0400 Make Null constexpr This allows using it as a constant expression and guarantees constant folding. ql/instruments/makeois.cpp | 1 - ql/instruments/makeois.hpp | 2 +- ql/instruments/makevanillaswap.cpp | 5 +---- ql/instruments/makevanillaswap.hpp | 2 +- ql/utilities/null.hpp | 6 +++--- 5 files changed, 6 insertions(+), 10 deletions(-) commit 29190589185c6cd0345c9026db29fe7705333d0d Author: Luigi Ballabio Date: Tue, 1 Jul 2025 18:05:19 +0200 Remove features deprecated in version 1.35 QuantLib.vcxproj | 2 - QuantLib.vcxproj.filters | 6 - cmake/GenerateHeaders.cmake | 1 - ql/CMakeLists.txt | 2 - ql/cashflows/cashflows.hpp | 20 --- ql/handle.hpp | 12 -- ql/indexes/ibor/bibor.hpp | 9 -- ql/indexes/ibor/euribor.hpp | 232 ------------------------------ ql/indexes/ibor/eurlibor.hpp | 90 ------------ ql/instruments/Makefile.am | 4 +- ql/instruments/dividendbarrieroption.hpp | 29 ---- ql/instruments/dividendvanillaoption.hpp | 28 ---- ql/termstructures/yield/oisratehelper.cpp | 20 --- ql/termstructures/yield/oisratehelper.hpp | 22 --- 14 files changed, 1 insertion(+), 476 deletions(-) commit 9b6605d0b0ef15913c8c4f6031c54efc7d4d454c Author: RalfKonrad Date: Tue, 1 Jul 2025 13:35:44 +0200 Run the test-suite in an extra step .github/workflows/cmake_runners-latest-matrix.yml | 7 +++++++ 1 file changed, 7 insertions(+) commit fff9aefd85e5e305eec6e8f622fc8c6f461d9240 Author: RalfKonrad Date: Tue, 1 Jul 2025 13:28:59 +0200 Remove the deprecated windows-2019 runner .github/workflows/cmake_runners-latest-matrix.yml | 1 - 1 file changed, 1 deletion(-) commit 622c073c918da8b712798106b8d97af3ccdb028b Author: RalfKonrad Date: Mon, 23 Jun 2025 11:39:03 +0200 Fix macOs to macOS .github/actions/setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 870a0573539ba2af3ae93335d994905bf6c676a8 Author: RalfKonrad Date: Sun, 22 Jun 2025 19:31:24 +0200 Add comment .github/workflows/cmake_runners-latest-matrix.yml | 1 + 1 file changed, 1 insertion(+) commit 013964ee16d4b032216b1998372f2cefc0864515 Author: RalfKonrad Date: Sun, 22 Jun 2025 19:13:39 +0200 Run the workflow also on 'pull_request' .github/workflows/cmake_runners-latest-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 13e9deeb02598156f50c6fc245313184505ba88a Author: RalfKonrad Date: Sun, 22 Jun 2025 19:12:28 +0200 Fix warning on Windows and c++ std 20 and 23 ql/experimental/exoticoptions/spreadoption.hpp | 7 +++++++ 1 file changed, 7 insertions(+) commit f2cf8b1073354b0e3bed731c3c7cf86620c8e052 Author: RalfKonrad Date: Sun, 22 Jun 2025 18:42:56 +0200 Fix a few namings .github/workflows/cmake_runners-latest-matrix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a2ed5238a9b7414e0d7882dd276bd6d73a8aaa64 Author: RalfKonrad Date: Sun, 22 Jun 2025 18:36:14 +0200 Add cmake_runners-latest-matrix.yml workflow .github/actions/setup/action.yml | 90 +++++++++++++++++++++++ .github/dependabot.yml | 6 ++ .github/workflows/cmake_runners-latest-matrix.yml | 70 ++++++++++++++++++ 3 files changed, 166 insertions(+) QuantLib-1.40/Contributors.txt000066400000000000000000000125761507311613300164260ustar00rootroot00000000000000We gratefully acknowledge contributions from (in alphabetical order): Nathan Abbott, Samad Abdessadki, Kakhkhor Abdijalilov, Xavier Abulker, Toyin Akin, Marius Akre, Mario Aleppo, Ferdinando Ametrano, Imrane Amri, Jongbong An, Tom Anderson, Grzegorz Andruszkiewicz, Ignacio Anguita, Fanis Antoniou, Driss Aouad, Jose Aparicio, Sergio Araujo, Leonardo Arcari, Sercan Atalik, F. Eugene Aumson, Ahmed Ayadi, Arnaud Baguet, Lluis Pujol Bajador, Gerardo Ballabio, Luigi Ballabio, Jonathan Barber, Nabila Barkati, Riccardo Barone, Clément Barret, Christopher Baus, Thomas Becker, Michaël Benguigui, Adolfo Benin, Hachemi Benyahia, Luca Berardi, Nicholas Bertocchi, Sylvain Bertrand, Manas Bhatt, Marco Bianchetti, David Binderman, Theo Boafo, Marcin Bogusz, Francois Botha, Delphine Bouthier, Fakher Braham, Nathaniel Brough, Ole Bueker, Joe Byers, Xavier Caron, Marine Casanova, Peter Caspers, Antoine Cellerier, Yee Man Chan, Aurelien Chanudet, Yiping Chen, Yanice Cherrak, Gualtiero Chiaia, Meryem Chibo, Warren Chou, Scott Condit, Marco Craveiro, Paolo D'Elia, Stephen Dacek, Jon Davidson, William Day, Daniele De Francesco, Frédéric Degraeve, Piero Del Boca, Mike DelMedico, Barry Devlin, Nicolas Di Césaré, Lucas Dias, Piter Dias, Binrui Dong, Jacques du Toit, François du Vignaud, Francis Duffy, Cristina Duminuco, Jan Ladislav Dussek, Ralf Konrad Eckel, Dirk Eddelbuettel, Faycal El Karaa, Joshua Engelman, Bernd Engelmann, Giorgio Facchinetti, Matt Fair, Paul Farrington, Lorella Fatone, Isuru Fernando, Luca Ferraro, Marco Bruno Ferreira Vasconcellos, Davide Ferretti, Neil Firth, Stefano Fondi, Chiara Fornarola, Silvia Frasson, Rémy Frèrebeau, Andreas Gaida, Matteo Gallivanoni, Jose Garcia, Lakshay Garg, Fredrik Gerdin Börjesson, Riccardo Ghetta, Hoang Giap Vu, Ryan Gibson, Jack Gillett, Paul Giltinan, Roman Gitlin, Nick Glass, Marek Glowacki, Dmitri Goloubentsev, Richard Gomes, Johannes Göttker-Schnetmann, Henri Gough, Richard Gould, Eleanor Green, Florent Grenier, Matthias Groncki, Sebastien Gurrieri, Tawanda Gwena, Cavit Hafizoglu, Lew Wei Hao, Joshua Hayes, Michael Heckl, Jake Heke, Andres Hernandez, Chris Higgs, Laurent Hoffmann, Xiangyu Hong, Guillaume Horel, Benoît Houzelle, Frank Hövermann, Daniel Hrabovcak, Shen Hui, Charles Chongseok Hyun, Simon Ibbotson, Alexey Indiryakov, Norbert Irmer, Mike Jake, Nicola Jean, Joseph Jeisman, Yi Jiang, Tomas Kalibera, Rahul Kanchi, Roland Kapl, Andrey Karpov, Michal Kaut, Tomoya Kawanishi, Gary Kennedy, Chris Kenyon, Oleksandr Khomenko, Joel King, Kevin Kirchhoff, Matt Knox, Matthew Kolbe, Andrew Kolesnikov, Nijaz Kovacevic, Philip Kovacs, Zak Kraehling, Silakhdar Krikeb, Pradeep Krishnamurthy, Nathan Kruck, Yan Kuang, Werner Kuerzinger, Oleg Kulkov, Allen Kuo, Christian Köhnenkamp, Mickael Anas Laaouini, Paul Laderoute, Yasmine Lahlou, Alix Lassauzet, Fabien Le Floc'h, Fabrice Lecuyer, James Lee, Jonghee Lee, Ka Wai Lee, Jacob Lee-Howes, Samuel Lerouge, Bernd Lewerenz, Patrick Lewis, Cheng Li, Gang Liang, Roland Lichters, Kai Lin, Hank Liu, Robert Lopez, André Louw, Benson Luk, Matthias Lungwitz, Jasen Mackie, Trent Maetzold, Andrea Maffezzoli, Joao Paulo Magalhaes, Jose Magana, Andrea Maggiulli, John Maiden, Katiuscia Manzoni, Marco Marchioro, Francesca Mariani, Daniel Martinez Davies, Slava Mazur, Paolo Mazzocchi, Siddharth Mehrotra, Magnus Mencke, Enrico Michelotti, Andre Miemiec, Raso Mirko, Radu Mondescu, Bryte Morio, Bart Mosley, Tiziano Müller, Joan Carlos Naftanaila, Prince Nanda, Dmitri Nesteruk, Billy Ng, Bojan Nikolic, Jean Nkeng, Robin Northcott, Konstantin Novitsky, Nikolai Nowaczyk, Adrian O'Neill, Andrea Odetti, Cay Oest, Hiroto Ogawa, Anubhav Pandey, Sotirios Papathanasopoulos, Mike Parker, Giorgio Pazmandi, Guillaume Pealat, Gilbert Peffer, Andrea Pellegatta, Ignacio Peña, Walter Penschke, Francesco Perissin, Robert Philipp, Marcello Pietrobon, Adrien Pinatton, Gianni Piolanti, Vladimir Polin, Sebastian Poloczek, Berat Postalcioglu, Nolan Potier, Mario Pucci, Ian Qsong, Paul Rädle, Alexandre Radicchi, J. Erik Radmall, Ilyas Rahbaoui, Fabio Ramponi, Hristo Raykov, Maria Cristina Recchioni, Simon Rees, Dimitri Reiswich, Sadruddin Rejeb, Martin Ross, Alessandro Roveda, Ryan Russell, Marcin Rybacki, Mohamed Amine Sadaoui, Amine Samani, David Sansom, Alpha Sanou Toure, Tamas Sashalmi, Sebastian Schlenkrich, Peter Schmitteckert, Ralph Schreyer, Leander Schulten, David Schwartz, Benjamin Schwendinger, Henning Segger, Carlos Fidel Selva Ochoa, Giacomo Sergio, Simon Shakeshaft, Michael Sharpe, Kirill Shemyakin, Eugene Shevkoplyas, Mohammad Shojatalab, Anastasiia Shumyk, Piotr Siejda, Matthias Siemering, Adityakumar Sinha, Gyan Sinha, Enrico Sirola, Leon Sit, Wojciech Slusarski, Andrew Smith, Dale Smith, Tim Smith, Maxim Sokolov, Prasad Somwanshi, Niels Elken Sønderby, Klaus Spanderen, Andreas Spengler, Roland Stamm, Weston Steimel, Philip Stephens, Kai Striega, Jonathan Sweemer, Edouard Tallent, Eisuke Tani, Marco Tarenghi, Ryan Taylor, Yue Tian, Eugene Toder, Steven Van Haren, Jayanth R. Varma, Michael von den Driesch, Joseph Wang, Qingxiao Wang, Tony Wang, Charles Whitmore, Tomass Wilson, Stephen Wong, Krzysztof Wos, Bernd Johannes Wuebben, Sun Xiuxin, Frank Xue, Jeff Yu, Maddalena Zanzi, Li Zhong, Viktor Zhou, Francesco Zirilli, and Roy Zywina. QuantLib includes code taken from Peter Jäckel's book "Monte Carlo Methods in Finance". QuantLib includes software developed by the University of Chicago, as Operator of Argonne National Laboratory. QuantLib-1.40/Docs/000077500000000000000000000000001507311613300140455ustar00rootroot00000000000000QuantLib-1.40/Docs/Makefile.am000066400000000000000000000020631507311613300161020ustar00rootroot00000000000000 EXTRA_DIST = \ quantlib.doxy \ quantlibextra.css \ quantlibfooter.html \ quantlibheader.html DOXYGEN_CONFIG := quantlib.doxy DOXYGEN_CUSTOM := quantlibextra.css quantlibheader.html quantlibfooter.html DOXYGEN_INPUT := $(shell find ${top_srcdir} -name *.hpp) \ $(wildcard pages/*.docs) BASEPATH = $(shell cd @abs_top_srcdir@ && pwd) .PHONY: docs docs-clean dist-hook: mkdir -p $(distdir)/pages $(distdir)/images cp -p $(srcdir)/pages/*.docs $(distdir)/pages cp -p $(srcdir)/images/*.jpg \ $(srcdir)/images/*.ico \ $(distdir)/images docs: .time-stamp clean-local: rm -Rf html rm -f .time-stamp .time-stamp: $(DOXYGEN_CONFIG) $(DOXYGEN_CUSTOM) $(DOXYGEN_INPUT) ../LICENSE.TXT cp -p ${top_srcdir}/LICENSE.TXT ${top_srcdir}/Contributors.txt . $(SED) -e "s|ql_basepath|${BASEPATH}/|" \ -e "s|ql_version|$(VERSION)|" \ ${srcdir}/quantlib.doxy > .quantlib.doxy $(DOXYGEN) .quantlib.doxy rm -f .quantlib.doxy rm -f html/*.md5 rm -f html/*.map touch .time-stamp QuantLib-1.40/Docs/images/000077500000000000000000000000001507311613300153125ustar00rootroot00000000000000QuantLib-1.40/Docs/images/QL-title.jpg000066400000000000000000000277711507311613300174650ustar00rootroot00000000000000JFIFHH XICC_PROFILE HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmCC2" =  !#89x"Qv12ATWw3!"#21$36ABt%QSq ?3ϔ²Ec='[LM斀%꭯J4r{[F~WkioT]cr{U+)w`ܰ3Yi\gebBYKɟ3%l܂wqckNt*s4;M{˦CմhFJ'8YYj=dN?1핀/R媓`ĉ*gMDwIg ō{驮ںYRbxm1 VR*f5͈/-3`Q^K#‹[v VIk*՚j\,ԕA4K|ș B=''`^q2 w_0Sna I}A&(rs4Ŷ1"p.ƣDG,=Ƕvݹu:ݵ8\AH^jMPfMervHKLqEWG∶l¬``"w=ź -8V?BT*Ov,*I`$Z?HYaG}v nd9ƧC[ludl$Y{eϾ ߊ͟xyaQ-,`vs7GDF&%'2VO4Oܫf%jhFT$҅Muv*f@^__GTYQý\7%|/*h k`֍ѵIR )09wYqVh]J:jГ߸~oxG8NME^IP2r\j ;!%^~Bl[0YmfVl:|1kBZik@ґ1 >O:EЁ{Β&vvaOY[ށ8GjȓT_5gpʆj ؂.ĖOZrؾbLxdsSmcBn kVrNJ#tRN5WxfP[ZdUd~GK}s/ 05؜#l-,zeouf]iTg5 = S>UX8Qd7þ5('ygNÑWmKE}tl3韮1n6_w|tp3r8=6 1wok??kÕf|(ǣPLa >>=vQv"Q՘FFRZP*eMܷm.+leQYO5yojJ$8`^@CDX-+{Z1GRme/9ig)/rC@ä6# P10#t"̹CVvZ0,^>n@VffiD"6rRvtg$J=#.TwQ|n^Ek1Dqi91gNkGug0[ȼFLK[jZrWξ Y34IxrЦ D#߾(x"@=* c D_wk!a,6Ms75Msb渵omƘ?]/t{b(fz'6 N.1^""WK5٦8pq?'9lmgY]2aG:y4 P'o2D9N[*)jʂo*{=87.ɸKؼDĿRF3}e1xK+3PC `  혼Bd4j'dt :$՗8e iکD5 T~i:&bѬZ7`͈H@8[2k 6t5u'ky8{]d{l嗤9]IZ+y_g+*xˤIe#T9ZOD]mM@[h氩t;!:4W]>hd[vOI Ux?s;k {Rɑ&p)'׫s=m_`C]Hg GәBUV#e@r'qԲ! {pk1HN Yt\&`8"/J|c%İ3Lu]&1Ylq lQ} 6~~p5QR}r&9Ů9oɢ3v||!Q\> k_ A7 2)$_r ҵI"{u!Ca4᳽Ƌ !E j|N/6Hoa <^iN3fuhA'-K,SHd|UJ?Khgd)XXZ>2Y+Tf Z2BNFlvRWQΝx1x1GeQHcjK< .Ǘ PZ 0w 0YVQ'*$|}H3nЫKuOV6*|z'>\ַɜsqYg9AAı.Fi4}3|'7ITM7Z_"^Pp(!HDOF;XPFEכ>ER+LY 4o xl,؅reh4SN|c¬M9$ŜZ wa17_I`!u\=ۃd2b<20.#%VEbT҅,Q_ݗP.!݁wHC(v5ù[أ2vyc"|rijgnVeU+8sÐJGriJ ֫M5 }Cr}]rs)J3 tm-ْ]f,9,ctUC O3OyW0[:eTQS^;~ԨPoQCEp [*(i_}ր?RaFBe'â%Pq|=k0EfV:ȂJhħAH]2)㢲aIt>l600(_9ny=`m$q ޳,N3 Nt4I3h/s[7_xoE8_ۗlV(TUW[(axO߮خw'թv[H0x(38V ]|mzR$ѦOIM:A=}W5HrqJj]WQFˍ++MM n"e)p=UM:ׂIrJ7(ci_??cEzQZgޏ8DRFLPŰ WNHҢjG ,䦇XF#.E=KOvr-G:Gq?_"ev$}r24^yrZpQF>K:-p< `:Nm̭K,?Qm2j("=|)У^ءq;5s.7y(XnZgKZN3f (be˜5!}chɢIgTvµlul~$c0[z'/IHI#Z8<ڢ`QP4xDhypG o N )qð0L&R#5Xl-?ePE"صt;G6u)sr/&)w?TZӱ9鬥şEk;ӗ> t 6ED>tgsUV!0bO d@)I6l%Srсjΰ?fL.(qWj'7kOns8&Ćf,Z,ݒMXapO *Y4Dlj _LM=4dT-;qW2@Kf-?l31V1W EDž7S]sC z LjWDr? % 0>03AO^ç%p _z<^*jd6諈$ r#|їZ#~@fPUfDWOn֭/0ijf߫^VBШ9ZOzcv$eV|ei<):03‚ xtKxDwbY>;46.4n2BO $;cY"m"xF)2mPG4g3=N|/ե+-{x^ra+"?ƽ4m4&'ofnFSw&(U(+RIkNi\enc gyUVsY'u]C3M4C6 >M LJxx#_c=/g~ZV޽.4[ʼ%F,V`fĐQf;'vҢ^hX?W*(~ESGYQE&vyp%nJK&+L1n Q*#t3yVy9GyŞ[w#8b+S;v]'4i(•4T$B7MýzP/fr{?+SzpLXNMBϠ+UkqXQpmkN`E@E#Cۺ3Nتӎ8 r_Ii:mjХK ' f؝vO%_O]jv?LqժԄ~?B.*XN@(%Q믰+gZymV#Wa& B0IaD=գwhAnuI 'UwNq괤]rSUC )/T[PxxȨ x'[:Z$i1btQFHO>ט}?)/jT @>(Xv-7+&Je} eRIo U 0 "&QR9WFb}f**V6i]l1;/FтqfTQ4w`o-]TnܾõxxAqyb%,CG*BD`{wz>_?%jv$%NmmOKݹ,K~_f#[B)F(suⳔDCT_Tgteheq*D:ԭAmU߈hqӘS#4Og$~H3r\p4Uy[_ImZTi]!ZQG >ʌW.nrܖFMQxNW2h33ͷ QuE$omt{sM}'Ti؛jMuPu;~%,ѕ"Se-!J!3tu嵳̽{Ur8^u9 tٸ,6둓Vhɴbm*HKSkȅ2b'ф<<΂Q͞C><:2xeURZ:Љ4D\;ڵ?)sfZ,CQff$+~mc:mVq1gggƸƺ11c?ٌcc>Gz<<<<=Gz<<<<=GQuantLib-1.40/Docs/images/favicon.ico000066400000000000000000000020661507311613300174370ustar00rootroot00000000000000BM66(   FFFTTTLLL qqq)))fff!!!;;;~~~111444(((mmmBBB AAAwwwQuantLib-1.40/Docs/pages/000077500000000000000000000000001507311613300151445ustar00rootroot00000000000000QuantLib-1.40/Docs/pages/authors.docs000066400000000000000000000015131507311613300175030ustar00rootroot00000000000000 /* Copyright (C) 2003 Ferdinando Ametrano Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \page group Contributors \htmlinclude Contributors.txt */ QuantLib-1.40/Docs/pages/config.docs000066400000000000000000000133051507311613300172650ustar00rootroot00000000000000 /* Copyright (C) 2004, 2005 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \page config User configuration A number of macros is provided for user configuration. Defining or undefining such macros triggers variations in some library functionality. When using CMake, they can be set to `ON` or `OFF` as properties. Under a Linux/Unix system, they are (un)set by `configure`; run \code ./configure --help \endcode for a list of corresponding command-line options. Under a Windows system, they must be (un)defined by editing the file `` and commenting or uncommenting the relevant lines. Such macros include: \code #define QL_ERROR_FUNCTIONS \endcode If defined, function information is added to the error messages thrown by the library. Undefined by default. \code #define QL_ERROR_LINES \endcode If defined, file and line information is added to the error messages thrown by the library. Undefined by default. \code #define QL_ENABLE_TRACING \endcode If defined, tracing messages might be emitted by the library depending on run-time settings. Enabling this option can degrade performance. Undefined by default. \code #define QL_EXTRA_SAFETY_CHECKS \endcode If defined, extra run-time checks are added to a few functions. This can prevent their inlining and degrade performance. Undefined by default. \code #define QL_USE_INDEXED_COUPON \endcode If defined, indexed coupons (see the documentation) are used in floating legs. If undefined (the default), par coupons are used. \code #define QL_ENABLE_SESSIONS \endcode If defined, singletons will return different instances for different threads; in particular, this means that the evaluation date, the stored index fixings and any other settings will be per-thread. Undefined by default. \code #define QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN \endcode If defined, a thread-safe (but less performant) version of the observer pattern is used. You should define it if you want to use %QuantLib via the SWIG layer within the JVM or .NET ecosystem or any other environment with an async garbage collector. Undefined by default. \code #define QL_HIGH_RESOLUTION_DATE \endcode If defined, date objects willsupport an intraday datetime resolution down to microseconds. Strictly monotone daycounters (`Actual360`, `Actual365Fixed` and `ActualActual`) will take the additional information into account and allow for accurate intraday pricing. If undefined (the default) the smallest resolution of date objects is a single day. Intraday datetime resolution is experimental. \code #define QL_THROW_IN_CYCLES \endcode If defined, lazy objects will raise an exception when they detect a notification cycle which would result in an infinite recursion loop. If undefined (the default), they will break the recursion without throwing. Enabling this option is recommended but might cause existing code to throw. \code #define QL_FASTER_LAZY_OBJECTS \endcode If defined (the default), lazy objects will forward the first notification received, and discard the others until recalculated; the rationale is that observers were already notified, and don't need further notifications until they recalculate, at which point this object would be recalculated too. After recalculation, this object would again forward the first notification received. Although not always correct, this behavior is a lot faster and thus is the current default. \code #define QL_USE_STD_ANY \endcode If defined (the default), `std::any` and related classes and functions will be used instead of `boost::any`. If undefined, the Boost facilities will be used. \code #define QL_USE_STD_OPTIONAL \endcode If defined (the default), `std::optional` and related classes and functions will be used instead of `boost::optional`. If undefined, the Boost facilities will be used. \code #define QL_USE_STD_SHARED_PTR \endcode If defined, `std::shared_ptr` and related classes and functions will used instead of `boost::shared_ptr`. If undefined (the default) the Boost facilities will be used. Note that `std::shared_ptr` does not check access and can cause segmentation faults. \code #define QL_NULL_AS_FUNCTIONS \endcode If defined, `Null` will be implemented as a template function. This allows the code to work with user-defined `Real` types but was reported to cause internal compiler errors with Visual C++ 2022 in some cases. If undefined (the default) `Null` will be implemented as a class template, as in previous releases. \code #define QL_ENABLE_PARALLEL_UNIT_TEST_RUNNER \endcode If defined, a parallel unit test runner will be used to execute the C++ test suite. This will reduce the runtime on multi core CPUs. Undefined by default. */ QuantLib-1.40/Docs/pages/coreclasses.docs000066400000000000000000000015621507311613300203300ustar00rootroot00000000000000 /* Copyright (C) 2000-2004 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup types Numeric types A number of numeric types are defined in order to add clarity to function and method declarations. */ QuantLib-1.40/Docs/pages/currencies.docs000066400000000000000000000014241507311613300201610ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup currencies Currencies and FX rates */ QuantLib-1.40/Docs/pages/datetime.docs000066400000000000000000000040641507311613300176160ustar00rootroot00000000000000 /* Copyright (C) 2004 Ferdinando Ametrano Copyright (C) 2000-2004 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup datetime Date and time calculations The concrete class QuantLib::Date implements the concept of date. Its functionalities include: - providing basic information such as weekday, day of the month, day of the year, month, and year; - comparing two dates to determine whether they are equal, or which one is the earlier or later, or the difference between them expressed in days; - incrementing or decrementing a date of a given number of days, or of a given period expressed in weeks, months, or years. @{ */ /*! \defgroup calendars Calendars The class QuantLib::Calendar provides the interface for determining whether a date is a business day or a holiday for a given exchange or a given country, and for incrementing/decrementing a date of a given number of business days. A number of calendars is contained in the ql/time/calendars directory. */ /*! \defgroup daycounters Day counters The class QuantLib::DayCounter provides more advanced means of measuring the distance between two dates according to a given market convention, both as number of days of fraction of year. A number of such conventions is contained in the ql/time/daycounters directory. */ /*! @} */ QuantLib-1.40/Docs/pages/engines.docs000066400000000000000000000026631507311613300174550ustar00rootroot00000000000000 /* Copyright (C) 2004 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup engines Pricing engines @{ */ /*! \defgroup asianengines Asian option engines */ /*! \defgroup barrierengines Barrier option engines */ /*! \defgroup basketengines Basket option engines */ /*! \defgroup bondengines Basket option engines */ /*! \defgroup capfloorengines Cap/floor engines */ /*! \defgroup cliquetengines Cliquet option engines */ /*! \defgroup forwardengines Forward option engines */ /*! \defgroup inflationcapfloorengines Inflation cap/floor engines */ /*! \defgroup lookbackengines Lookback option engines */ /*! \defgroup quantoengines Quanto option engines */ /*! \defgroup swaptionengines Swaption engines */ /*! \defgroup vanillaengines Vanilla option engines */ /*! @} */ QuantLib-1.40/Docs/pages/examples.docs000066400000000000000000000123101507311613300176310ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \example BasketLosses.cpp This example shows how to model losses across correlated assets. \example BermudanSwaption.cpp This example prices a bermudan swaption using different models calibrated to market swaptions. The calibration examples include Hull and White's using both an analytic formula as well as numerically, and Black and Karasinski's model. Using these three calibrations, Bermudan swaptions are priced for at-the-money, out-of-the-money and in-the-money volatilities. \example Bonds.cpp This example shows how to set up a term structure and then price some simple bonds. The last part is dedicated to peripherical computations such as yield-to-price or price-to-yield. \example CallableBonds.cpp This example prices a number of callable bonds and compares the results to known good data. \example CDS.cpp This example bootstraps a default-probability curve over a number of CDS and reprices them. \example ConvertibleBonds.cpp For a given set of option parameters, this example computes the value of a convertible bond with an embedded put option for two different equity options types (with european and american exercise features) using the Tsiveriotis-Fernandes method with different implied tree algorithms. The tree types are Jarrow-Rudd, Cox-Ross-Rubinstein, Additive equiprobabilities, Trigeorgis, Tian and Leisen-Reimer. \example CVAIRS.cpp This example shows how to calculate credit value adjustment for an interest rate swap. \example DiscreteHedging.cpp This example computes profit and loss of a discrete interval hedging strategy and compares with the outcome with the results of Derman and Kamal's Goldman Sachs Equity Derivatives Research Note "When You Cannot Hedge Continuously: The Corrections to Black-Scholes". It shows the use of the Monte Carlo framework. \example EquityOption.cpp For a given set of option parameters, this example computes the value of three different equity options types (with european, bermudan and american exercise features) using different valuation algorithms. The calculation methods are Black-Scholes (for european options only), Barone-Adesi/Whaley (american-only), Bjerksund/Stensland (american), Integral (european), finite differences, binomial trees, crude Monte Carlo (european-only) and Sobol-sequence Monte Carlo (european-only). \example FittedBondCurve.cpp For a given set of coupons and terms to maturity, this example computes the value of a bond by fitting the yields to a curve using different methods. The fitting methods are exponential splines, simple polynomials, Nelson-Siegel, and cubic B-splines. It then shifts the evaluation date into the future to compute implied forward par rates. It also computes yields after small price shifts. \example FRA.cpp This example values a forward-rate agreement (FRA) at different forward dates under two yield curve assumptions. It thereby illustrates how set up a term structure, and to use it to price a simple forward-rate agreement. \example Gaussian1dModels.cpp This example shows the use of Gaussian short rate model for interest rate derivatives. \example GlobalOptimizer.cpp This example shows the use of several different optimizers: firefly algorithm, hybrid simulated annealing, particle swarm optimization, simulated annealing, and differential evolution. \example LatentModel.cpp This example shows the calculation of correlated defaults. \example MarketModels.cpp This example shows the use of interest-rate market models. \example MulticurveBootstrapping.cpp This example prices an interest rate swap over a term structure and calculates its fair fixed rate and floating spread. \example MultidimIntegral.cpp This example shows multi-dimensional numerical integration. \example Replication.cpp This example uses the CompositeInstrument class to statically replicate a down-and-out barrier options. \example Repo.cpp This example values a fixed-coupon bond repurchase (repo). The repurchase agreement example is set up to use the repo rate to do all discounting (including the underlying bond income). Forward delivery price is also obtained using this repo rate. All this is done by supplying the FixedCouponBondForward constructor with a flat repo YieldTermStructure. */ QuantLib-1.40/Docs/pages/findiff.docs000066400000000000000000000017631507311613300174320ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup findiff Finite-differences framework This framework (corresponding to the ql/methods/finitedifferences directory) contains basic building blocks for the numerical solution of partial differential equations by means of finite-difference methods. */ QuantLib-1.40/Docs/pages/fixedincome.docs000066400000000000000000000077221507311613300203200ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 Sadruddin Rejeb This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup shortrate Short-rate modelling framework This framework (corresponding to the ql/models/shortrate directory) implements some single-factor and two-factor short rate models. The models implemented in this library are widely used by practitioners. For the moment, the ShortRateModel class defines the short-rate dynamics with stochastic equations of the type \f[ dx_i = \mu(t,x_i) dt + \sigma(t,x_i) dW_t \f] where \f$ r = f(t,x) \f$. If the model is affine (i.e. derived from the QuantLib::AffineModel class), analytical formulas for discount bonds and discount bond options are given (useful for calibration). \section singlefactormodels Single-factor models \par The Hull & White model \f[ dr_t = (\theta(t) - \alpha(t) r_t)dt + \sigma(t) dW_t \f] When \f$ \alpha \f$ and \f$ \sigma \f$ are constants, this model has analytical formulas for discount bonds and discount bond options. \par The Black-Karasinski model \f[ d\ln{r_t} = (\theta(t) - \alpha \ln{r_t})dt + \sigma dW_t \f] No analytical tractability here. \par The extended Cox-Ingersoll-Ross model \f[ dr_t = (\theta(t) - k r_t)dt + \sigma \sqrt{r_t} dW_t \f] There are analytical formulas for discount bonds (and soon for discount bond options). \section calibration Calibration The class CalibrationHelper is a base class that facilitates the instantiation of market instruments used for calibration. It has a method marketValue() that gives the market price using a Black formula, and a modelValue() method that gives the price according to a model Derived classed are QuantLib::CapHelper and QuantLib::SwaptionHelper. For the calibration itself, you must choose an optimization method that will find constant parameters such that the value: \f[ V = \sqrt{\sum_{i=1}^{n} \frac{(T_i - M_i)^2}{M_i}}, \f] where \f$ T_i \f$ is the price given by the model and \f$ M_i \f$ is the market price, is minimized. A few optimization methods are available in the ql/Optimization directory. \section twofactormodels Two-factor models \section pricers Pricers \par Analytical pricers If the model is affine, i.e. discount bond options formulas exist, caps are easily priced since they are a portfolio of discount bond options. Such a pricer is implemented in QuantLib::AnalyticalCapFloor. In the case of single-factor affine models, swaptions can be priced using the Jamshidian decomposition, implemented in QuantLib::JamshidianSwaption. \par Using Trees Each model derived from the single-factor model class has the ability to return a trinomial tree. For yield-curve consistent models, the fitting parameter can be determined either analytically (when possible) or numerically. When a tree is built, it is then pretty straightforward to implement a pricer for any path-independent derivative. Just implement a class derived from NumericalDerivative (see QuantLib::NumericalSwaption for example) and roll it back until the present time... Just look at QuantLib::TreeCapFloor and QuantLib::TreeSwaption for working pricers. */ QuantLib-1.40/Docs/pages/history.docs000066400000000000000000000015601507311613300175210ustar00rootroot00000000000000/* Copyright (C) 2000-2018 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \page history Version history The list of releases is available from GitHub at . */ QuantLib-1.40/Docs/pages/index.docs000066400000000000000000000032531507311613300171300ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \mainpage Introduction %QuantLib (https://www.quantlib.org/) is a C++ library for financial quantitative analysts and developers. %QuantLib is Non-Copylefted Free Software released under the modified BSD License. It is also OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative. %QuantLib is free software and you are allowed to use, copy, modify, merge, publish, distribute, and/or sell copies of it under the conditions stated in the \ref license. %QuantLib and its documentation are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \ref license for more details. \section disclaimer Disclaimer At this time, this documentation is widely incomplete and must be regarded as a work in progress. Contributions are welcome. */ QuantLib-1.40/Docs/pages/instruments.docs000066400000000000000000000014231507311613300204110ustar00rootroot00000000000000 /* Copyright (C) 2000-2004 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup instruments Financial instruments */ QuantLib-1.40/Docs/pages/lattices.docs000066400000000000000000000106521507311613300176320ustar00rootroot00000000000000 /* Copyright (C) 2002, 2003 Sadruddin Rejeb This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup lattices Lattice methods The framework (corresponding to the ql/methods/lattices directory) contains basic building blocks for pricing instruments using lattice methods (trees). A lattice, i.e. an instance of the abstract class QuantLib::Lattice, relies on one or several trees (each one approximating a diffusion process) to price an instance of the DiscretizedAsset class. Trees are instances of classes derived from QuantLib::Tree, classes which define the branching between nodes and transition probabilities. \section binomial Binomial trees The binomial method is the simplest numerical method that can be used to price path-independent derivatives. It is usually the preferred lattice method under the Black-Scholes-Merton model. As an example, let's see the framework implemented in the bsmlattice.hpp file. It is a method based on a binomial tree, with constant short-rate (discounting). There are several approaches to build the underlying binomial tree, like Jarrow-Rudd or Cox-Ross-Rubinstein. \section trinomial Trinomial trees When the underlying stochastic process has a mean-reverting pattern, it is usually better to use a trinomial tree instead of a binomial tree. An example is implemented in the QuantLib::TrinomialTree class, which is constructed using a diffusion process and a time-grid. The goal is to build a recombining trinomial tree that will discretize, at a finite set of times, the possible evolutions of a random variable \f$ y \f$ satisfying \f[ dy_t = \mu(t, y_t) dt + \sigma(t, y_t) dW_t. \f] At each node, there is a probability \f$ p_u, p_m \f$ and \f$ p_d \f$ to go through respectively the upper, the middle and the lower branch. These probabilities must satisfy \f[ p_{u}y_{i+1,k+1}+p_{m}y_{i+1,k}+p_{d}y_{i+1,k-1}=E_{i,j} \f] and \f[ p_u y_{i+1,k+1}^2 + p_m y_{i+1,k}^2 + p_d y_{i+1,k-1}^2 = V^2_{i,j}+E_{i,j}^2, \f] where k (the index of the node at the end of the middle branch) is the index of the node which is the nearest to the expected future value, \f$ E_{i,j}=\mathbf{E}\left( y(t_{i+1})|y(t_{i})=y_{i,j}\right) \f$ and \f$ V_{i,j}^{2}=\mathbf{Var}\{y(t_{i+1})|y(t_{i})=y_{i,j}\} \f$. If we suppose that the variance is only dependant on time \f$ V_{i,j}=V_{i} \f$ and set \f$ y_{i+1} \f$ to \f$ V_{i}\sqrt{3} \f$, we find that \f[ p_{u} = \frac{1}{6}+\frac{(E_{i,j}-y_{i+1,k})^{2}}{6V_{i}^{2}} + \frac{E_{i,j}-y_{i+1,k}}{2\sqrt{3}V_{i}}, \f] \f[ p_{m} = \frac{2}{3}-\frac{(E_{i,j}-y_{i+1,k})^{2}}{3V_{i}^{2}}, \f] \f[ p_{d} = \frac{1}{6}+\frac{(E_{i,j}-y_{i+1,k})^{2}}{6V_{i}^{2}} - \frac{E_{i,j}-y_{i+1,k}}{2\sqrt{3}V_{i}}. \f] \section bidimensional Bidimensional lattices To come... \section discretizedasset The QuantLib::DiscretizedAsset class This class is a representation of the price of a derivative at a specific time. It is roughly an array of values, each value being associated to a state of the underlying stochastic variables. For the moment, it is only used when working with trees, but it should be quite easy to make a use of it in finite-differences methods. The two main points, when deriving classes from QuantLib::DiscretizedAsset, are: -# Define the initialisation procedure (e.g. terminal payoff for european stock options). -# Define the method adjusting values, when necessary, at each time steps (e.g. apply the step condition for american or bermudan options). Some examples are found in QuantLib::DiscretizedSwap and QuantLib::DiscretizedSwaption. */ QuantLib-1.40/Docs/pages/license.docs000066400000000000000000000020471507311613300174430ustar00rootroot00000000000000 /*! \page license QuantLib License \verbinclude LICENSE.TXT
\section licensecomments Comments on Copyright and License %QuantLib is Non-Copylefted Free Software [1] released under the modified BSD License [2] (also know as XFree86-style license). %QuantLib is Open Source [3] because of its license: it is OSI Certified Open Source Software [4]. OSI Certified is a certification mark of the Open Source Initiative [5]. The modified BSD License is GPL compatible as confirmed by the Free Software Foundation [6]. This license has been adopted to allow free use of %QuantLib and its source, to make %QuantLib flourish as a free-software/open-source project. It allows proprietary extensions to be commercialized. [1] http://www.gnu.org/philosophy/categories.html#Non-CopyleftedFreeSoftware
[2] http://www.opensource.org/licenses/bsd-license.html
[3] http://www.opensource.org/docs/definition.html
[4] http://www.opensource.org/docs/certification_mark.html
[5] http://www.opensource.org
[6] http://www.gnu.org/philosophy/bsd.html */ QuantLib-1.40/Docs/pages/math.docs000066400000000000000000000034471507311613300167570ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup math Math tools @{ */ /*! \defgroup interpolations 1-D Interpolations and corresponding traits */ /*! \defgroup solvers One-dimensional solvers The abstract class QuantLib::Solver1D provides the interface for one-dimensional solvers which can find the zeroes of a given function. A number of such solvers is contained in the ql/Solvers1D directory. The implementation of the algorithms was inspired by "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery - Chapter 9 Some work is needed to resolve the ambiguity of the root finding accuracy definition: for some algorithms it is the x-accuracy, for others it is f(x)-accuracy. */ /*! \defgroup optimizers Optimizers The optimization framework (corresponding to the ql/Optimization directory) implements some multi-dimensional minimizing methods. The function to be minimized is to be derived from the QuantLib::CostFunction base class (if the gradient is not analytically implemented, it will be computed numerically). */ /*! @} */ QuantLib-1.40/Docs/pages/mcarlo.docs000066400000000000000000000016321507311613300172750ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup mcarlo Monte Carlo framework This framework (corresponding to the ql/methods/montecarlo directory) contains basic building blocks for Monte Carlo simulations. */ QuantLib-1.40/Docs/pages/patterns.docs000066400000000000000000000014121507311613300176540ustar00rootroot00000000000000 /* Copyright (C) 2000-2004 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup patterns Design patterns */ QuantLib-1.40/Docs/pages/processes.docs000066400000000000000000000020041507311613300200200ustar00rootroot00000000000000 /* Copyright (C) 2006 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup processes Stochastic processes The classes QuantLib::StochasticProcess and QuantLib::StochasticProcess1D provide the interface for a generic stochastic process. A number of specific processes is contained in the ql/processes directory. */ QuantLib-1.40/Docs/pages/resources.docs000066400000000000000000000027301507311613300200320ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \page resources Additional resources The main %QuantLib resource is the %QuantLib web site (https://www.quantlib.org). Additional resources available from the above site include: - available documentation (https://www.quantlib.org/docs.shtml); - the %QuantLib mailing lists and forums (https://www.quantlib.org/mailinglists.shtml); - the %QuantLib programming style guidelines (https://www.quantlib.org/style.shtml); - links to pages for reporting issues (https://github.com/lballabio/QuantLib/issues) and submitting changes (https://github.com/lballabio/QuantLib/pulls); - a page (https://www.quantlib.org/extensions.shtml) about how to use %QuantLib in other languages/platforms. */ QuantLib-1.40/Docs/pages/termstructures.docs000066400000000000000000000026611507311613300211360ustar00rootroot00000000000000 /* Copyright (C) 2000-2003 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /*! \defgroup termstructuressss Term structures @{ */ /*! \defgroup yieldtermstructures Interest-rate term structures The abstract class QuantLib::YieldTermStructure provides the common interface to concrete yield-rate term structure models. Among others, methods are declared which return instantaneous forward rate, discount factor, and zero rate at a given date. Adapter classes are provided which already implement part of the required methods, thus allowing the programmer to define only the non-redundant part. */ /*! \defgroup defaultprobabilitytermstructures Default-probability term structures */ /*! \defgroup inflationtermstructures Inflation term structures */ /*! @} */ QuantLib-1.40/Docs/quantlib.doxy000066400000000000000000000317311507311613300165760ustar00rootroot00000000000000# Doxyfile 1.14.0 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = QuantLib PROJECT_NUMBER = ql_version PROJECT_BRIEF = "A free/open-source library for quantitative finance" PROJECT_LOGO = PROJECT_ICON = OUTPUT_DIRECTORY = CREATE_SUBDIRS = NO CREATE_SUBDIRS_LEVEL = 8 ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = YES STRIP_FROM_PATH = ql_basepath STRIP_FROM_INC_PATH = ql_basepath SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO JAVADOC_BANNER = NO QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO PYTHON_DOCSTRING = YES INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 4 ALIASES = "warning=\xrefitem caveats \"Warning\" \"Caveats\"" \ "test=\xrefitem test \"Tests\" \"Test Suite\"" \ "bug=\xrefitem bug \"Bug\" \"Known Bugs\"" \ "deprecated=\xrefitem deprecated \"Deprecated\" \"Deprecated Features\"" OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO OPTIMIZE_OUTPUT_SLICE = NO EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES TOC_INCLUDE_HEADINGS = 0 MARKDOWN_ID_STYLE = DOXYGEN AUTOLINK_SUPPORT = YES AUTOLINK_IGNORE_WORDS = BUILTIN_STL_SUPPORT = YES CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO GROUP_NESTED_COMPOUNDS = NO SUBGROUPING = YES INLINE_GROUPED_CLASSES = NO INLINE_SIMPLE_STRUCTS = NO TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 NUM_PROC_THREADS = 1 TIMESTAMP = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_PRIV_VIRTUAL = NO EXTRACT_PACKAGE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = NO EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO RESOLVE_UNNAMED_PARAMS = YES HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = YES HIDE_UNDOC_NAMESPACES = YES HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = YES INTERNAL_DOCS = NO CASE_SENSE_NAMES = NO HIDE_SCOPE_NAMES = YES HIDE_COMPOUND_REFERENCE= NO SHOW_HEADERFILE = YES SHOW_INCLUDE_FILES = YES SHOW_GROUPED_MEMB_INC = NO FORCE_LOCAL_INCLUDES = NO INLINE_INFO = NO SORT_MEMBER_DOCS = NO SORT_BRIEF_DOCS = NO SORT_MEMBERS_CTORS_1ST = YES SORT_GROUP_NAMES = YES SORT_BY_SCOPE_NAME = YES STRICT_PROTO_MATCHING = NO GENERATE_TODOLIST = NO GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_FILES = NO SHOW_NAMESPACES = NO FILE_VERSION_FILTER = LAYOUT_FILE = CITE_BIB_FILES = EXTERNAL_TOOL_PATH = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = YES WARNINGS = YES WARN_IF_UNDOCUMENTED = NO WARN_IF_DOC_ERROR = YES WARN_IF_INCOMPLETE_DOC = NO WARN_NO_PARAMDOC = NO WARN_IF_UNDOC_ENUM_VAL = NO WARN_LAYOUT_FILE = YES WARN_AS_ERROR = YES WARN_FORMAT = "$file:$line: $text" WARN_LINE_FORMAT = "at line $line of file $file" WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- INPUT = ql_basepath/Docs//pages \ ql_basepath/ql INPUT_ENCODING = UTF-8 INPUT_FILE_ENCODING = FILE_PATTERNS = *.docs \ *.hpp \ *.h RECURSIVE = YES EXCLUDE = ql_basepath//ql/config.hpp \ ql_basepath//ql/config.msvc.hpp EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = */all.hpp EXCLUDE_SYMBOLS = EXAMPLE_PATH = ql_basepath/Examples \ . EXAMPLE_PATTERNS = *.cpp EXAMPLE_RECURSIVE = YES IMAGE_PATH = INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = USE_MDFILE_AS_MAINPAGE = IMPLICIT_DIR_DOCS = YES FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = NO SOURCE_TOOLTIPS = NO USE_HTAGS = NO VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = ql_basepath/Docs/quantlibheader.html HTML_FOOTER = ql_basepath/Docs/quantlibfooter.html HTML_STYLESHEET = HTML_EXTRA_STYLESHEET = ql_basepath/Docs/quantlibextra.css HTML_EXTRA_FILES = ql_basepath/Docs/images/favicon.ico HTML_COLORSTYLE = AUTO_LIGHT HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = YES HTML_CODE_FOLDING = YES HTML_COPY_CLIPBOARD = YES HTML_PROJECT_COOKIE = HTML_INDEX_NUM_ENTRIES = 100 GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_FEEDURL = DOCSET_BUNDLE_ID = org.doxygen.Project DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_NAME = Publisher GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = hhc.exe GENERATE_CHI = NO CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO SITEMAP_URL = GENERATE_QHP = NO QCH_FILE = QHP_NAMESPACE = org.doxygen.Project QHP_VIRTUAL_FOLDER = doc QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = QHG_LOCATION = GENERATE_ECLIPSEHELP = NO ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO GENERATE_TREEVIEW = NO PAGE_OUTLINE_PANEL = YES FULL_SIDEBAR = NO ENUM_VALUES_PER_LINE = 4 SHOW_ENUM_VALUES = NO TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO OBFUSCATE_EMAILS = YES HTML_FORMULA_FORMAT = png FORMULA_FONTSIZE = 12 FORMULA_MACROFILE = USE_MATHJAX = YES MATHJAX_VERSION = MathJax_2 MATHJAX_FORMAT = HTML-CSS MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ MATHJAX_EXTENSIONS = MATHJAX_CODEFILE = SEARCHENGINE = YES SERVER_BASED_SEARCH = NO EXTERNAL_SEARCH = NO SEARCHENGINE_URL = SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex LATEX_MAKEINDEX_CMD = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4 EXTRA_PACKAGES = LATEX_HEADER = LATEX_FOOTER = LATEX_EXTRA_STYLESHEET = LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO LATEX_BIB_STYLE = plain LATEX_EMOJI_DIRECTORY = #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = RTF_EXTRA_FILES = #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_SUBDIR = MAN_LINKS = YES #--------------------------------------------------------------------------- # Configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml XML_PROGRAMLISTING = NO XML_NS_MEMB_FILE_SCOPE = NO #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # Configuration options related to Sqlite3 output #--------------------------------------------------------------------------- GENERATE_SQLITE3 = NO SQLITE3_OUTPUT = sqlite3 SQLITE3_RECREATE_DB = YES #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = __DOXYGEN__ EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration options related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES #--------------------------------------------------------------------------- # Configuration options related to diagram generator tools #--------------------------------------------------------------------------- HIDE_UNDOC_RELATIONS = NO HAVE_DOT = YES DOT_NUM_THREADS = 0 DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = NO GROUP_GRAPHS = NO UML_LOOK = NO UML_LIMIT_NUM_FIELDS = 10 UML_MAX_EDGE_LABELS = 10 DOT_UML_DETAILS = NO DOT_WRAP_THRESHOLD = 17 TEMPLATE_RELATIONS = NO INCLUDE_GRAPH = NO INCLUDED_BY_GRAPH = NO CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DIR_GRAPH_MAX_DEPTH = 1 DOT_IMAGE_FORMAT = png INTERACTIVE_SVG = NO DOT_PATH = DOTFILE_DIRS = DIA_PATH = DIAFILE_DIRS = PLANTUML_JAR_PATH = PLANTUML_CFG_FILE = PLANTUML_INCLUDE_PATH = PLANTUMLFILE_DIRS = DOT_GRAPH_MAX_NODES = 150 MAX_DOT_GRAPH_DEPTH = 2 DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES MSCGEN_TOOL = MSCFILE_DIRS = QuantLib-1.40/Docs/quantlibextra.css000066400000000000000000000014711507311613300174450ustar00rootroot00000000000000#projectname, #projectname a, #projectname a:visited { font-family: "Lato", sans-serif; font-weight: 700; font-style: italic; color: black; } #projectname { padding: 1em; } #projectnumber { font-family: "Lato", sans-serif; font-weight: 400; font-style: italic; font-size: 60%; margin-top: 1em; margin-bottom: 0; } body, table, div, p, dl { font: 300 16px/22px Lato,sans-serif; } p.reference, p.definition { font: 300 16px/22px Lato,sans-serif; } .title { font-family: "Lato", sans-serif; font-style: italic; } table.directory { font: 400 16px "Lato",sans-serif; } h1 { font-style: italic; } .sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active { font-family: "Lato", sans-serif; font-weight: 400; font-style: italic; } QuantLib-1.40/Docs/quantlibfooter.html000066400000000000000000000011261507311613300177710ustar00rootroot00000000000000 QuantLib-1.40/Docs/quantlibheader.html000066400000000000000000000040641507311613300177270ustar00rootroot00000000000000 $projectname: $title $title $treeview $search $mathjax $extrastylesheet
QuantLib: a free/open-source library for quantitative finance
Reference manual - version $projectnumber
$projectbrief
$searchbox
QuantLib-1.40/Examples/000077500000000000000000000000001507311613300147335ustar00rootroot00000000000000QuantLib-1.40/Examples/BasketLosses/000077500000000000000000000000001507311613300173355ustar00rootroot00000000000000QuantLib-1.40/Examples/BasketLosses/BasketLosses.cpp000066400000000000000000000266021507311613300224510ustar00rootroot00000000000000/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* Copyright (C) 2014 Jose Aparicio This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #include #if !defined(BOOST_ALL_NO_LIB) && defined(BOOST_MSVC) # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace QuantLib; int main(int, char* []) { try { std::cout << std::endl; Calendar calendar = TARGET(); Date todaysDate(19, March, 2014); // must be a business day todaysDate = calendar.adjust(todaysDate); Settings::instance().evaluationDate() = todaysDate; /* -------------------------------------------------------------- SET UP BASKET PORTFOLIO -------------------------------------------------------------- */ // build curves and issuers into a basket of ten names std::vector hazardRates = { 0.001, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09 }; std::vector names; names.reserve(hazardRates.size()); for(Size i=0; i> defTS; for (Real& hazardRate : hazardRates) { defTS.emplace_back( ext::make_shared(0, TARGET(), hazardRate, Actual365Fixed())); defTS.back()->enableExtrapolation(); } std::vector issuers; for(Size i=0; i curves(1, std::make_pair(NorthAmericaCorpDefaultKey( EURCurrency(), QuantLib::SeniorSec, Period(), 1. // amount threshold ), defTS[i])); issuers.emplace_back(curves); } auto thePool = ext::make_shared(); for(Size i=0; iadd(names[i], issuers[i], NorthAmericaCorpDefaultKey( EURCurrency(), QuantLib::SeniorSec, Period(), 1.)); std::vector defaultKeys(hazardRates.size(), NorthAmericaCorpDefaultKey(EURCurrency(), SeniorSec, Period(), 1.)); auto theBskt = ext::make_shared( todaysDate, names, std::vector(hazardRates.size(), 100.), thePool, // 0.0, 0.78); 0.03, .06); /* -------------------------------------------------------------- SET UP DEFAULT LOSS MODELS -------------------------------------------------------------- */ std::vector recoveries(hazardRates.size(), 0.4); Date calcDate(TARGET().advance(Settings::instance().evaluationDate(), Period(60, Months))); Real factorValue = 0.05; std::vector> fctrsWeights(hazardRates.size(), std::vector(1, std::sqrt(factorValue))); // --- LHP model -------------------------- #ifndef QL_PATCH_SOLARIS auto lmGLHP = ext::make_shared( fctrsWeights[0][0] * fctrsWeights[0][0], recoveries); theBskt->setLossModel(lmGLHP); std::cout << "GLHP Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // --- G Binomial model -------------------- auto ktLossLM = ext::make_shared(fctrsWeights, recoveries, LatentModelIntegrationType::GaussianQuadrature, GaussianCopulaPolicy::initTraits()); auto lmBinomial = ext::make_shared(ktLossLM); theBskt->setLossModel(lmBinomial); std::cout << "Gaussian Binomial Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; #endif // --- T Binomial model -------------------- TCopulaPolicy::initTraits initT; initT.tOrders = std::vector(2, 3); auto ktTLossLM = ext::make_shared(fctrsWeights, recoveries, //LatentModelIntegrationType::GaussianQuadrature, LatentModelIntegrationType::Trapezoid, initT); auto lmTBinomial = ext::make_shared(ktTLossLM); theBskt->setLossModel(lmTBinomial); std::cout << "T Binomial Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // --- G Inhomogeneous model --------------- Size numSimulations = 100000; #ifndef QL_PATCH_SOLARIS auto gLM = ext::make_shared(fctrsWeights, recoveries, LatentModelIntegrationType::GaussianQuadrature, // g++ requires this when using make_shared GaussianCopulaPolicy::initTraits()); Size numBuckets = 100; auto inhomogeneousLM = ext::make_shared(gLM, numBuckets); theBskt->setLossModel(inhomogeneousLM); std::cout << "G Inhomogeneous Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // --- G Random model --------------------- // Gaussian random joint default model: // Size numCoresUsed = 4; // Sobol, many cores auto rdlmG = ext::make_shared>>>(gLM, recoveries, numSimulations, 1.e-6, 2863311530UL); //auto rdlmG = ext::make_shared>(gLM, // recoveries, numSimulations, 1.e-6, 2863311530); theBskt->setLossModel(rdlmG); std::cout << "Random G Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; #endif // --- StudentT Random model --------------------- // Sobol, many cores auto rdlmT = ext::make_shared>>>(ktTLossLM, recoveries, numSimulations, 1.e-6, 2863311530UL); //auto rdlmT = ext::make_shared>(ktTLossLM, // recoveries, numSimulations, 1.e-6, 2863311530); theBskt->setLossModel(rdlmT); std::cout << "Random T Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // Spot Loss latent model: #ifndef QL_PATCH_SOLARIS std::vector> fctrsWeightsRR(2 * hazardRates.size(), std::vector(1, std::sqrt(factorValue))); Real modelA = 2.2; auto sptLG = ext::make_shared( fctrsWeightsRR, recoveries, modelA, LatentModelIntegrationType::GaussianQuadrature, GaussianCopulaPolicy::initTraits()); auto sptLT = ext::make_shared(fctrsWeightsRR, recoveries, modelA, LatentModelIntegrationType::GaussianQuadrature, initT); // --- G Random Loss model --------------------- // Gaussian random joint default model: // Sobol, many cores auto rdLlmG = ext::make_shared>(sptLG, numSimulations, 1.e-6, 2863311530UL); theBskt->setLossModel(rdLlmG); std::cout << "Random Loss G Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // --- T Random Loss model --------------------- // Gaussian random joint default model: // Sobol, many cores auto rdLlmT = ext::make_shared>(sptLT, numSimulations, 1.e-6, 2863311530UL); theBskt->setLossModel(rdLlmT); std::cout << "Random Loss T Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; // Base Correlation model set up to test coherence with base LHP model std::vector bcTenors = {{1, Years}, {5, Years}}; std::vector bcLossPercentages = {0.03, 0.12}; std::vector>> correls; // std::vector> corr1Y; // 3% corr1Y.emplace_back( ext::make_shared(fctrsWeights[0][0] * fctrsWeights[0][0])); // 12% corr1Y.emplace_back( ext::make_shared(fctrsWeights[0][0] * fctrsWeights[0][0])); correls.push_back(corr1Y); std::vector> corr2Y; // 3% corr2Y.emplace_back( ext::make_shared(fctrsWeights[0][0] * fctrsWeights[0][0])); // 12% corr2Y.emplace_back( ext::make_shared(fctrsWeights[0][0] * fctrsWeights[0][0])); correls.push_back(corr2Y); auto correlSurface = ext::make_shared>( // first one would do, all should be the same. defTS[0]->settlementDays(), defTS[0]->calendar(), Unadjusted, bcTenors, bcLossPercentages, correls, Actual365Fixed()); Handle> correlHandle(correlSurface); auto bcLMG_LHP_Bilin = ext::make_shared(correlHandle, recoveries, GaussianCopulaPolicy::initTraits()); theBskt->setLossModel(bcLMG_LHP_Bilin); std::cout << "Base Correlation GLHP Expected 10-Yr Losses: " << std::endl; std::cout << theBskt->expectedTrancheLoss(calcDate) << std::endl; #endif return 0; } catch (exception& e) { cerr << e.what() << endl; return 1; } catch (...) { cerr << "unknown error" << endl; return 1; } } QuantLib-1.40/Examples/BasketLosses/BasketLosses.vcxproj000066400000000000000000001053701507311613300233620ustar00rootroot00000000000000 Debug (static runtime) Win32 Debug (static runtime) x64 Debug Win32 Debug x64 Release (static runtime) Win32 Release (static runtime) x64 Release Win32 Release x64 BasketLosses {43A17E5B-EC94-4EB5-9D68-788BF234AE1F} Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte <_ProjectFileVersion>11.0.1 .\bin\ .\bin\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ false false false false .\bin\ .\bin\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ false false false false .\bin\ .\bin\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true true false false .\bin\ .\bin\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true true false false BasketLosses-mt-sgd BasketLosses-x64-mt-sgd BasketLosses-mt-gd BasketLosses-x64-mt-gd BasketLosses-mt-s BasketLosses-x64-mt-s BasketLosses-mt BasketLosses-x64-mt .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb MaxSpeed stdcpp17 AnySuitable false Speed ..\..;%(AdditionalIncludeDirectories) NDEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) true MultiThreadedDLL true false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true Default false NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false MachineX86 .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb MaxSpeed stdcpp17 AnySuitable false Speed ..\..;%(AdditionalIncludeDirectories) NDEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) true MultiThreadedDLL true false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true Default false NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb MaxSpeed stdcpp17 AnySuitable false Speed ..\..;%(AdditionalIncludeDirectories) NDEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) true MultiThreaded true false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true Default false NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false MachineX86 .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb MaxSpeed stdcpp17 AnySuitable false Speed ..\..;%(AdditionalIncludeDirectories) NDEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) true MultiThreaded true false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true Default false NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb Disabled stdcpp17 false ..\..;%(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebugDLL false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true EditAndContinue Default false _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false MachineX86 false .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb Disabled stdcpp17 false ..\..;%(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebugDLL false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true ProgramDatabase Default false _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb Disabled stdcpp17 false ..\..;%(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true EditAndContinue Default false _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false MachineX86 false .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.tlb Disabled stdcpp17 false ..\..;%(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug false true true quantlib.hpp .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pch .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\ Level3 true ProgramDatabase Default false _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) true ..\..\lib;%(AdditionalLibraryDirectories) true .\build\$(PlatformToolset)\$(Platform)\$(Configuration)\BasketLosses.pdb Console false {ad0a27da-91da-46a2-acbd-296c419ed3aa} false QuantLib-1.40/Examples/BasketLosses/BasketLosses.vcxproj.filters000066400000000000000000000016131507311613300250240ustar00rootroot00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;rc;def;r;odl;idl;hpj;bat {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe Source Files QuantLib-1.40/Examples/BasketLosses/CMakeLists.txt000066400000000000000000000003451507311613300220770ustar00rootroot00000000000000add_executable(BasketLosses BasketLosses.cpp) target_link_libraries(BasketLosses ql_library ${QL_THREAD_LIBRARIES}) if (QL_INSTALL_EXAMPLES) install(TARGETS BasketLosses RUNTIME DESTINATION ${QL_INSTALL_EXAMPLESDIR}) endif() QuantLib-1.40/Examples/BermudanSwaption/000077500000000000000000000000001507311613300202155ustar00rootroot00000000000000QuantLib-1.40/Examples/BermudanSwaption/BermudanSwaption.cpp000066400000000000000000000373041507311613300242120ustar00rootroot00000000000000/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /*! Copyright (C) 2002, 2003 Sadruddin Rejeb Copyright (C) 2004 Ferdinando Ametrano Copyright (C) 2005, 2006, 2007 StatPro Italia srl This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email . The license is also available online at . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #include #if !defined(BOOST_ALL_NO_LIB) && defined(BOOST_MSVC) # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace QuantLib; //Number of swaptions to be calibrated to... Size numRows = 5; Size numCols = 5; Integer swapLengths[] = { 1, 2, 3, 4, 5}; Volatility swaptionVols[] = { 0.1490, 0.1340, 0.1228, 0.1189, 0.1148, 0.1290, 0.1201, 0.1146, 0.1108, 0.1040, 0.1149, 0.1112, 0.1070, 0.1010, 0.0957, 0.1047, 0.1021, 0.0980, 0.0951, 0.1270, 0.1000, 0.0950, 0.0900, 0.1230, 0.1160}; void calibrateModel( const ext::shared_ptr& model, const std::vector>& swaptions) { std::vector> helpers(swaptions.begin(), swaptions.end()); LevenbergMarquardt om; model->calibrate(helpers, om, EndCriteria(400, 100, 1.0e-8, 1.0e-8, 1.0e-8)); // Output the implied Black volatilities for (Size i=0; imodelValue(); Volatility implied = swaptions[i]->impliedVolatility(npv, 1e-4, 1000, 0.05, 0.50); Volatility diff = implied - swaptionVols[k]; std::cout << i+1 << "x" << swapLengths[j] << std::setprecision(5) << std::noshowpos << ": model " << std::setw(7) << io::volatility(implied) << ", market " << std::setw(7) << io::volatility(swaptionVols[k]) << " (" << std::setw(7) << std::showpos << io::volatility(diff) << std::noshowpos << ")\n"; } } int main(int, char* []) { try { std::cout << std::endl; Date todaysDate(15, February, 2002); Calendar calendar = TARGET(); Date settlementDate(19, February, 2002); Settings::instance().evaluationDate() = todaysDate; // flat yield term structure impling 1x5 swap at 5% auto flatRate = ext::make_shared(0.04875825); Handle rhTermStructure( ext::make_shared( settlementDate, Handle(flatRate), Actual365Fixed())); // Define the ATM/OTM/ITM swaps Frequency fixedLegFrequency = Annual; BusinessDayConvention fixedLegConvention = Unadjusted; BusinessDayConvention floatingLegConvention = ModifiedFollowing; DayCounter fixedLegDayCounter = Thirty360(Thirty360::European); Frequency floatingLegFrequency = Semiannual; Swap::Type type = Swap::Payer; Rate dummyFixedRate = 0.03; auto indexSixMonths = ext::make_shared(rhTermStructure); Date startDate = calendar.advance(settlementDate,1,Years, floatingLegConvention); Date maturity = calendar.advance(startDate,5,Years, floatingLegConvention); Schedule fixedSchedule(startDate,maturity,Period(fixedLegFrequency), calendar,fixedLegConvention,fixedLegConvention, DateGeneration::Forward,false); Schedule floatSchedule(startDate,maturity,Period(floatingLegFrequency), calendar,floatingLegConvention,floatingLegConvention, DateGeneration::Forward,false); auto swap = ext::make_shared( type, 1000.0, fixedSchedule, dummyFixedRate, fixedLegDayCounter, floatSchedule, indexSixMonths, 0.0, indexSixMonths->dayCounter()); swap->setPricingEngine(ext::make_shared(rhTermStructure)); Rate fixedATMRate = swap->fairRate(); Rate fixedOTMRate = fixedATMRate * 1.2; Rate fixedITMRate = fixedATMRate * 0.8; auto atmSwap = ext::make_shared( type, 1000.0, fixedSchedule, fixedATMRate, fixedLegDayCounter, floatSchedule, indexSixMonths, 0.0, indexSixMonths->dayCounter()); auto otmSwap = ext::make_shared( type, 1000.0, fixedSchedule, fixedOTMRate, fixedLegDayCounter, floatSchedule, indexSixMonths, 0.0, indexSixMonths->dayCounter()); auto itmSwap = ext::make_shared( type, 1000.0, fixedSchedule, fixedITMRate, fixedLegDayCounter, floatSchedule, indexSixMonths, 0.0, indexSixMonths->dayCounter()); // defining the swaptions to be used in model calibration std::vector swaptionMaturities; swaptionMaturities.emplace_back(1, Years); swaptionMaturities.emplace_back(2, Years); swaptionMaturities.emplace_back(3, Years); swaptionMaturities.emplace_back(4, Years); swaptionMaturities.emplace_back(5, Years); std::vector> swaptions; // List of times that have to be included in the timegrid std::list