code: def silhoeutte(sample, clusters, pointer_metric, data_type):
      pointer_data = package_builder(sample, c_double).create()
      pointer_clusters = package_builder(clusters, c_size_t).create()
      c_data_type = convert_data_type(data_type)
  
      ccore = ccore_library.get()
      ccore.silhouette_algorithm.restype = POINTER(pyclustering_package)
      package = ccore.silhouette_algorithm(
          pointer_data, pointer_clusters, pointer_metric, c_data_type
      )
  
      result = package_extractor(package).extract()
      ccore.free_pyclustering_package(package)
  
      return result
  
imports: from ctypes import c_double, c_longlong, c_size_t, POINTER
  from pyclustering.core.converter import convert_data_type
  from pyclustering.core.wrapper import ccore_library
  from pyclustering.core.pyclustering_package import pyclustering_package, package_builder, package_extractor
label_desc: Use image node_id 1 for calling a global function with example usage: silhoeutte(sample, clusters, pointer_metric, data_type) and returns: result