summaryrefslogtreecommitdiffstats
path: root/cpp_layer
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2017-02-23 15:36:08 -0500
committerGuillaume Horel <guillaume.horel@gmail.com>2017-02-23 15:36:08 -0500
commit31cf1177aa62378f6568dc16f09f44707a61d90a (patch)
treea7ca7ef0e458e6f832e4eef834fec29a7a45d19b /cpp_layer
parent18cc63b1f3ebabdb2598ceababbc58ec51082d53 (diff)
downloadpyisda-31cf1177aa62378f6568dc16f09f44707a61d90a.tar.gz
no need for cpp_layer
Diffstat (limited to 'cpp_layer')
-rw-r--r--cpp_layer/curve.hpp77
1 files changed, 0 insertions, 77 deletions
diff --git a/cpp_layer/curve.hpp b/cpp_layer/curve.hpp
deleted file mode 100644
index 5d1720d..0000000
--- a/cpp_layer/curve.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <isda/tcurve.h>
-#include <isda/cxzerocurve.h>
-#include <vector>
-#include <memory>
-
-typedef long TDate;
-
-class CurveObject {
-public:
- CurveObject(TDate baseDate, std::vector<TDate> dates, std::vector<double> rates,
- double basis, long dayCountConv) {
- _ptr = JpmcdsMakeTCurve(baseDate, dates.data(), rates.data(), dates.size(),
- basis, dayCountConv);
- }
- CurveObject(TCurve* ptr) {
- _ptr = ptr;
- }
- CurveObject(const CurveObject& other) {
- _ptr = JpmcdsCopyCurve(other._ptr);
- }
- CurveObject(CurveObject&& other) : _ptr(other._ptr) {
- other._ptr = nullptr;
- }
- CurveObject& operator=(const CurveObject& other) {
- if( this != &other) {
- JpmcdsFreeTCurve(_ptr);
- _ptr = JpmcdsCopyCurve(other._ptr);
- }
- return *this;
- }
- CurveObject& operator=(CurveObject&& other) {
- if( this != &other) {
- JpmcdsFreeTCurve(_ptr);
- _ptr = other._ptr;
- other._ptr = nullptr;
- }
- return *this;
- }
-
- TCurve* data() {
- return _ptr;
- }
- typedef TRatePt* iterator;
- typedef const TRatePt* const_iterator;
- iterator begin() { return _ptr->fArray; }
- iterator end() {return &_ptr->fArray[_ptr->fNumItems];}
- int size() {
- return _ptr->fNumItems;
- }
- TDate BaseDate() {
- return _ptr->fBaseDate;
- }
- double Basis() {
- return _ptr->fBasis;
- }
- double ForwardZeroPrice(TDate d2, TDate d1);
- double ForwardZeroPrice(TDate d2);
- ~CurveObject() {
- if(_ptr != nullptr) {
- JpmcdsFreeTCurve(_ptr);
- }
- }
-private:
- TCurve* _ptr;
-};
-
-double CurveObject::ForwardZeroPrice(TDate d2, TDate d1) {
- return JpmcdsForwardZeroPrice(_ptr, d1, d2);
-}
-
-double CurveObject::ForwardZeroPrice(TDate d2) {
- return JpmcdsForwardZeroPrice(_ptr, _ptr->fBaseDate, d2);
-}
-
-std::shared_ptr<TCurve>& make_shared(TCurve* ptr) {
- return std::shared_ptr<TCurve>(ptr, jpmcdsFreeTCurve);
-}