저는 수학 라이브러리를 쓰고 있습니다. 핵심은 C++입니다. 나중에 그것은 순수 C로 구현 될 수 있습니다 (C99). 파이썬과 matlab 등을 사용하여 라이브러리를 사용할 수 있도록 C와 같은 API가 필요하다고 생각합니다. 내 인상은 C++로 이것을하는 것은 고통 스럽다.C (99)와 C++을 섞은 복소수 타입
따라서 double complex *some_array_in_C99
과 complex<double> *some_array_in_cpp
사이에서 전송하는 데 적합한 표준 방법이나 적절한 방법이 있습니까?
나는 단지 void *
포인터를 사용할 수 있지만 그게 좋은지 확실하지 않습니다.
ctypes가 complex<double>
과 함께 잘 작동하는 것처럼 보이기 때문에 nitpicking 일지 모르지만 matlab 및 기타 가능한 숫자 환경이 걱정됩니다.
C99 복합체를 MATLAB과 함께 사용할 수 있습니까? – kennytm
어, 좋은 지적이야. http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f21585.html 복합 이중 정밀도 행렬 MATLAB 가장 일반적인 데이터 유형에서 복소 배정도 nonsparse 행렬 . 이 행렬은 double 유형이며 차원이 mxn입니다. 여기서 m은 행 수이고 n은 열 수입니다. 데이터는 배정도 숫자의 두 벡터로 저장됩니다. 하나는 실제 데이터를 포함하고 다른 하나는 허수 데이터를 포함합니다. 이렇게 간단합니다. 나는 아무것도 걱정하지 않을지도 모른다. –