Move the pricing engine sources out of src/ into cpp/, add the closed-form engine and pybind wiring, and align tests/build targets with the new project layout. Made-with: Cursor
19 lines
378 B
C++
19 lines
378 B
C++
/**
|
|
* @file Instrument.cpp
|
|
* @brief @ref Instrument implementation.
|
|
*/
|
|
|
|
#include "Instrument.hpp"
|
|
|
|
Instrument::Instrument(double maturity, std::unique_ptr<Payoff> payoff,
|
|
std::unique_ptr<PricingEngine> engine) : maturity_(maturity), payoff_(std::move(payoff)), engine_
|
|
(std::move(engine)){
|
|
}
|
|
|
|
|
|
|
|
double Instrument::price() const {
|
|
return engine_->calculate(*this);
|
|
}
|
|
|