ho una libreria C++ che definisce i seguenti (e più simili a loro) tipi:Utilizzare SWIG per avvolgere C++ <vector> come pitone serie NumPy
typedef std::vector<double> DoubleVec;
typedef std::vector<DoubleVec> DoubleVecVec;
typedef std::vector<int> IntVec;
typedef std::vector<IntVec> IntVecVec;
Sto cercando di creare un'interfaccia Python per una libreria che maniglie oggetti del genere. Come afferma il titolo, vorrei che la mia interfaccia convertisse in/da C++ std::vector
e numpy ndarray
.
Ho visto entrambi i numeri numpy.i
forniti da Numpy People e std_vector.i
da persone SWIG. I problemi sono che numpy.i
è stato creato per gestire gli array C/C++ (non i vettori C++) e std_vector.i
non esegue direttamente la conversione da/per gli array di numpy.
Qualche idea?
Ho visto che il progetto FEniCS ha fatto qualcosa del genere, ma il loro progetto è talmente grande che sto facendo fatica a scoprire solo come fanno questo compito specifico.