cdef int bs_contains_nogil(float_or_int[:] l,float_or_int t,int size) nogil:
cdef int low=0
cdef int high=size-1
cdef int mid=0
while(low<=high):
mid=(low+high)//2
if t==l[mid]:
return mid
elif t < l[mid]:
high=mid-1
else:
low=mid+1
return -(low+1)
@boundscheck(False)
@wraparound(False)
def insertplace_nogil(l,t):
idx=(<object (*)(int[:],int,int)>bs_contains_nogil)(l,t,len(l))
return idx //return the target position
Über den Code geben Sie mir einen Fehler (Typ ist nicht spezialisiert), jemand wissen, wie man dieses Problem, dieses Problem, danke.Cython fusioniert kann nicht
Welche Art von Fehler gibt es Ihnen? Auch die ganze Zeile, in der Sie den Wert von 'idx' setzen, ist verrückt. Was versuchst du zu machen? Es gibt eine extrem hohe Chance, dass wir das vereinfachen können. –
Sorry für die nicht klar von Code, ich möchte die Zielposition im Array zurückgeben, Danke. – user3035661