You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

lsape_binders.py 674 B

1234567891011121314151617181920212223
  1. import numpy as np
  2. import ctypes as c
  3. from ctypes import cdll
  4. import os.path
  5. def lsap_solverHG(C):
  6. ''' Binding for lsape hungarian solver '''
  7. nm = C.shape[0]
  8. dll_name = 'liblsap.so'
  9. lib = cdll.LoadLibrary(os.path.abspath(
  10. os.path.join(os.path.dirname(__file__), dll_name)))
  11. lib.lsap.restype = c.c_int
  12. rho = np.zeros((nm, 1), int)
  13. varrho = np.zeros((nm, 1), int)
  14. C[C == np.inf] = 10000
  15. lib.lsap(c.c_void_p(C.transpose().ctypes.data),
  16. c.c_int(nm),
  17. c.c_void_p(rho.ctypes.data),
  18. c.c_void_p(varrho.ctypes.data))
  19. return np.array(range(0, nm)), np.array([c.c_int(i).value for i in varrho])

A Python package for graph kernels, graph edit distances and graph pre-image problem.