summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyisda/curve.pxd2
-rw-r--r--pyisda/curve.pyx8
2 files changed, 5 insertions, 5 deletions
diff --git a/pyisda/curve.pxd b/pyisda/curve.pxd
index 3f5c744..4e6dc51 100644
--- a/pyisda/curve.pxd
+++ b/pyisda/curve.pxd
@@ -217,5 +217,5 @@ cdef class SpreadCurve(Curve):
cdef fArray_to_list(TRatePt* fArray, int fNumItems)
-cdef void tweak_curve(TCurve* sc, TCurve* sc_tweaked, double epsilon,
+cdef void tweak_curve(const TCurve* sc, TCurve* sc_tweaked, double epsilon,
vector[double]& h, const vector[double]& T, unsigned long mask) nogil
diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx
index b5266e0..545c7ee 100644
--- a/pyisda/curve.pyx
+++ b/pyisda/curve.pyx
@@ -411,7 +411,7 @@ cdef class YieldCurve(Curve):
return yc
@cython.cdivision(True)
-cdef void tweak_curve(TCurve* sc, TCurve* sc_tweaked, double epsilon,
+cdef void tweak_curve(const TCurve* sc, TCurve* sc_tweaked, double epsilon,
vector[double]& h, const vector[double]& T, unsigned long mask) nogil:
## We want to tweak in the forward space, so we convert the hazard rates
## into forward rates and then back
@@ -701,9 +701,9 @@ cdef class SpreadCurve(Curve):
curve_tweaked = JpmcdsCopyCurve(self._thisptr.get())
sc._thisptr = make_shared(curve_tweaked)
sc.ticker = self.ticker
- # memcpy(sc.recovery_rates.get(), self.recovery_rates.get(),
- # self._thisptr.get().fNumItems * sizeof(double))
- sc.recovery_rates = self.recovery_rates
+ memcpy(sc.recovery_rates.get(), self.recovery_rates.get(),
+ num_items * sizeof(double))
+ #sc.recovery_rates = self.recovery_rates
else:
sc = self
curve_tweaked = self._thisptr.get()