code: def make_fixed_cost_sinkhorn_distance(cost, regularization=1.0):
      K = K_from_cost(cost, regularization)
      dim_x = K.shape[0]
      dim_y = K.shape[1]
  
      @numba.njit(fastmath=True)
      def closure(x, y):
          u = np.full(dim_x, 1.0 / dim_x, dtype=cost.dtype)
          v = np.full(dim_y, 1.0 / dim_y, dtype=cost.dtype)
  
          K = K_from_cost(cost, regularization)
          u, v = sinkhorn_iterations(
              x,
              y,
              u,
              v,
              K,
          )
  
          current_plan = transport_plan(K, u, v)
  
          result = 0.0
          for i in range(dim_x):
              for j in range(dim_y):
                  result += current_plan[i, j] * cost[i, j]
  
          return result
  
      return closure
  
imports: import numpy
  import numba
  from collections import namedtuple
  from enum import Enum, IntEnum
label_desc: Use image node_id 28 for calling a global function with example usage: make_fixed_cost_sinkhorn_distance(cost, regularization) and returns: closure, result