code: def roundup(self, minimum_distance):
          
          if not minimum_distance:
              return self
          ctx = DistancesContext()
          for dist, array in vars(self).items():
              small_distances = array < minimum_distance
              if small_distances.any():
                  array = array[:]  # make a copy first
                  array[small_distances] = minimum_distance
              setattr(ctx, dist, array)
          return ctx
docs: If the minimum_distance is nonzero, returns a copy of the
          DistancesContext with updated distances, i.e. the ones below
          minimum_distance are rounded up to the minimum_distance. Otherwise,
          returns the original DistancesContext unchanged.