I got the following message from cythoning Cython_shift_calculator.pyx
to Cython_shift_calculator.cpp:
((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx,
1831, 86), u"Cannot convert 'Non_bonded_targetcomponent *' to Python
object")
((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx,
1834, 86), u"Cannot convert 'Non_bonded_remote_atomcomponent *' to
Python object")
((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx,
1856, 40), u"Cannot convert Python object to 'Vec3'")
((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx,
1870, 40), u"Cannot convert Python object to 'Vec3'")
It seems like the compiler was complaining about _bytes_to_target_components in
cdef int num_target_components = self._bytes_to_target_components(atom_list_1,&target_components)
not being defined. So I swapped the position of class New_fast_non_bonded_calculator and class Fast_non_bonded_calculator (which has _bytes_to_target_components defined). The compilation works after swapping the two classes.
I got the following message from cythoning Cython_shift_calculator.pyx to Cython_shift_calculator.cpp:
((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx, 1831, 86), u"Cannot convert 'Non_bonded_targetcomponent *' to Python object") ((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx, 1834, 86), u"Cannot convert 'Non_bonded_remote_atomcomponent *' to Python object") ((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx, 1856, 40), u"Cannot convert Python object to 'Vec3'") ((FileSourceDescriptor:/import/bc2/home/guest/grzesiek/leung/software/xcamshift/xcamshift/src/cython2/Cython_shift_calculator.pyx, 1870, 40), u"Cannot convert Python object to 'Vec3'")
It seems like the compiler was complaining about _bytes_to_target_components in
cdef int num_target_components = self._bytes_to_target_components(atom_list_1,&target_components)
not being defined. So I swapped the position of class New_fast_non_bonded_calculator and class Fast_non_bonded_calculator (which has _bytes_to_target_components defined). The compilation works after swapping the two classes.