summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2018-04-18 14:21:36 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2018-04-18 14:21:36 -0400
commitb0922b88bfc793d50d4e2f90fc257aa578e116c7 (patch)
tree34f257f9c6edee94f1a752fa76774edf71a04eca
parent4afcece1ec84ffc3ec562e4213ae5e96862c457d (diff)
downloadpyisda-b0922b88bfc793d50d4e2f90fc257aa578e116c7.tar.gz
relase gil
-rw-r--r--pyisda/credit_index.pyx9
1 files changed, 5 insertions, 4 deletions
diff --git a/pyisda/credit_index.pyx b/pyisda/credit_index.pyx
index eb0c32e..6f52651 100644
--- a/pyisda/credit_index.pyx
+++ b/pyisda/credit_index.pyx
@@ -362,6 +362,7 @@ cdef class CreditIndex(CurveList):
vector[double] h
pair[TContingentLeg_ptr,TFeeLeg_ptr] legs
int i = get_maturity_index(maturity_c, self._maturities)
+
if i == -1:
legs = get_legs(maturity_c, self.start_date)
else:
@@ -373,10 +374,10 @@ cdef class CreditIndex(CurveList):
if mask == 0:
raise ValueError("maturity is not correct")
h = vector[double](self.T.size())
-
- r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c,
- yc._thisptr.get(), legs, recovery_rate, fixed_rate,
- self._weights, epsilon, h, self.T, mask)
+ with nogil:
+ r = pv(self._curves, self.base_date, step_in_date_c, cash_settle_date_c,
+ yc._thisptr.get(), legs, recovery_rate, fixed_rate,
+ self._weights, epsilon, h, self.T, mask)
if i == -1:
free(legs.first)
JpmcdsFeeLegFree(legs.second)