2014-10-25 3 views
2

파이썬에서 사용할 Cython 코드를 작성할 때 '컴파일 시간'유형 (예 : np.float64_t)과 일반 유형 (예 : np.float64)을 사용해야하는 경우는 언제입니까?cython '컴파일 시간'유형을 사용하는 경우

예를 들어, this Answer에는 컴파일 타임 버전이 제공되고 다른 버전은 제공되지 않는 것이 좋습니다. 왜 이런거야?

This question과 비슷한 질문이 있지만 표시된 해결책은 어떠한 종류의 설명도 제공하지 않습니다.

답변

1

내가 아는 한, 컴파일 시간 유형을 예상하는 곳에서는 정규 형식을 사용할 수 없으며 그 반대도 마찬가지입니다.

이렇게 할 수 있습니다 : cdef np.ndarray[np.float64_t] a = np.zeros(100, dtype=np.float64). 하지만 2 가지 유형을 교환 할 수는 없습니다.

np.ndarray[double] a = np.zero(100, dtype=np.double), 이 가능하지만, np.ndarray[np.double] a = np.zero(100, dtype=double)이 아닙니다.

+0

* *해야합니까? 무엇이 더 빠릅니까? –

관련 문제