summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyisda/curve.pxd15
1 files changed, 8 insertions, 7 deletions
diff --git a/pyisda/curve.pxd b/pyisda/curve.pxd
index f736f30..4b6b362 100644
--- a/pyisda/curve.pxd
+++ b/pyisda/curve.pxd
@@ -7,9 +7,6 @@ from libc.string cimport memcpy
from libc.stdlib cimport malloc, calloc, free
from libc.stdint cimport uint64_t
-cdef extern from "string.h" nogil:
- void* mempcpy(void* dest, const void* src, size_t n)
-
cdef extern from "isda/zerocurve.h" nogil:
ctypedef int TBoolean
@@ -50,10 +47,14 @@ cdef inline size_t TCurve_size(int num_items) nogil:
sizeof(long) + sizeof(TRatePt) * num_items
cdef inline void serialize(TCurve* curve, unsigned char* buf) nogil:
- buf = <unsigned char*>mempcpy(buf, &(curve.fNumItems), sizeof(curve.fNumItems))
- buf = <unsigned char*>mempcpy(buf, curve.fArray, sizeof(TRatePt) * curve.fNumItems)
- buf = <unsigned char*>memcpy(buf, &(curve.fBaseDate), sizeof(TDate))
- buf = <unsigned char*>mempcpy(buf, &(curve.fBasis), sizeof(double))
+ memcpy(buf, &(curve.fNumItems), sizeof(curve.fNumItems))
+ buf += sizeof(curve.fNumItems)
+ memcpy(buf, curve.fArray, sizeof(TRatePt) * curve.fNumItems)
+ buf += sizeof(TRatePt) * curve.fNumItems
+ memcpy(buf, &(curve.fBaseDate), sizeof(TDate))
+ buf += sizeof(TDate)
+ memcpy(buf, &(curve.fBasis), sizeof(double))
+ buf += sizeof(double)
memcpy(buf, &(curve.fDayCountConv), sizeof(long))
cdef inline unsigned char* deserialize(unsigned char* buf, TCurve* curve) nogil: