cython のインライン関数で問題が発生しました
cdef inline int binary_search(np.ndarray[np.float_t,ndim=1] cumsum, double rdn):
cdef int mi=0,ma=len(cumsum)-1,pos
while True:
if ( mi > ma):
break
pos = (mi+ma) / 2
if (rdn <= cumsum[pos] ):
ma=pos-1
else:
mi=pos+1
return mi-1
ただし、次の問題が発生します。バッファのアンパックが最適化されていません。
これは多次元配列を扱うときに問題になると聞きましたが、私はそうではありません。
助けてくれてありがとう