diff options
| -rw-r--r-- | pyisda/curve.pyx | 15 | ||||
| -rw-r--r-- | pyisda/date.pyx | 6 | ||||
| -rw-r--r-- | pyisda/logging.pyx | 6 | ||||
| -rw-r--r-- | pyisda/version.pyx | 2 | ||||
| -rw-r--r-- | setup.py | 5 |
5 files changed, 14 insertions, 20 deletions
diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx index 798148c..4dddb14 100644 --- a/pyisda/curve.pyx +++ b/pyisda/curve.pyx @@ -276,9 +276,10 @@ cdef class YieldCurve(Curve): TDateInterval tmp long period_adjust size_t i + char* period_bytes for i, p in enumerate(periods): - period_bytes = p.encode('utf-8') + period_bytes = p if JpmcdsStringToDateInterval(period_bytes, routine, &tmp) != SUCCESS: raise ValueError if types[i] == 'M': @@ -289,9 +290,9 @@ cdef class YieldCurve(Curve): "None", &self.dates[i]) != SUCCESS: raise ValueError('Invalid interval') - cdef bytes fixed_bytes = fixed_swap_period.encode('utf-8') - cdef bytes float_bytes = float_swap_period.encode('utf-8') - cdef bytes types_bytes = types.encode('utf-8') + cdef char* fixed_bytes = fixed_swap_period + cdef char* float_bytes = float_swap_period + cdef char* types_bytes = types if JpmcdsStringToDateInterval(<char*>fixed_bytes, routine, &ivl) != SUCCESS: raise ValueError @@ -576,7 +577,7 @@ cdef class SpreadCurve(Curve): memcpy(<void*>self.recovery_rates.get(), &recovery_rates[0], curve.fNumItems * sizeof(double)) if ticker: - self.ticker = ticker.encode() + self.ticker = ticker survival_probability = Curve.__forward_zero_price @@ -777,10 +778,6 @@ cdef class SpreadCurve(Curve): return r @property - def ticker(self): - return self.ticker.decode() - - @property def recovery_rates(self): cdef np.npy_intp shape = <np.npy_intp>self._thisptr.get().fNumItems cdef np.ndarray[np.float64_t] out = \ diff --git a/pyisda/date.pyx b/pyisda/date.pyx index 9085992..16b8e61 100644 --- a/pyisda/date.pyx +++ b/pyisda/date.pyx @@ -34,11 +34,7 @@ cdef long dcc(str day_count) except -1: def dcc_tostring(long day_count): cdef char* c_string = JpmcdsFormatDayCountConv(day_count) - if PY_MAJOR_VERSION >= 3: - s = c_string.decode('utf-8') - else: - s = c_string - return s + return c_string cdef TDate _previous_twentieth(TDate d, bint roll) nogil: diff --git a/pyisda/logging.pyx b/pyisda/logging.pyx index 2f94d16..c58d616 100644 --- a/pyisda/logging.pyx +++ b/pyisda/logging.pyx @@ -14,14 +14,12 @@ def disable_logging(): def set_logging_file(str file_name, TBoolean append = True): """set logging file""" - filename_bytes = file_name.encode('utf-8') - cdef char* c_string = filename_bytes + cdef char* c_string = file_name if JpmcdsErrMsgFileName(c_string, append) !=0: raise def log_message(str msg): - msg_bytes = msg.encode('utf-8') - cdef char* c_msg = msg_bytes + cdef char* c_msg = msg JpmcdsErrLogWrite(c_msg) def flush(): diff --git a/pyisda/version.pyx b/pyisda/version.pyx index bd1fabe..fa92a97 100644 --- a/pyisda/version.pyx +++ b/pyisda/version.pyx @@ -6,4 +6,4 @@ def version(): if JpmcdsVersionString(c_version) != 0: print("can't get version") cdef bytes version_string = c_version - return version_string.decode('utf-8') + return version_string @@ -24,7 +24,10 @@ c_extension = Extension( all_extensions = cythonize( [c_extension, all_extensions], nthreads=4, - compiler_directives={"embedsignature": True}, + compiler_directives={"embedsignature": True, + "language_level": 2, + "c_string_type": "unicode", + "c_string_encoding": "ascii"}, ) setup( |
