code: def _adjust_breaks(breaks: FloatArray, right: bool) -> FloatArray:
      epsilon = np.finfo(float).eps
      plus = 1 + epsilon
      minus = 1 - epsilon
  
      sign = np.sign(breaks)
      pos_idx = np.where(sign == 1)[0]
      neg_idx = np.where(sign == -1)[0]
      zero_idx = np.where(sign == 0)[0]
  
      fuzzy = breaks.copy()
      if right:
          # [_](_](_](_]
          lbreak = breaks[0]
          fuzzy[pos_idx] *= plus
          fuzzy[neg_idx] *= minus
          fuzzy[zero_idx] = epsilon
          # Left closing break
          if lbreak == 0:
              fuzzy[0] = -epsilon
          elif lbreak < 0:
              fuzzy[0] = lbreak * plus
          else:
              fuzzy[0] = lbreak * minus
      else:
          # [_)[_)[_)[_]
          rbreak = breaks[-1]
          fuzzy[pos_idx] *= minus
          fuzzy[neg_idx] *= plus
          fuzzy[zero_idx] = -epsilon
          # Right closing break
          if rbreak == 0:
              fuzzy[-1] = epsilon
          elif rbreak > 0:
              fuzzy[-1] = rbreak * plus
          else:
              fuzzy[-1] = rbreak * minus
  
      return fuzzy
  
file_path: plotnine/plotnine/stats/binning.py
imports: from __future__ import annotations
  import typing
  import numpy
  import pandas
  from ..exceptions import PlotnineError
  from ..scales.scale_discrete import scale_discrete
label_desc: Use image node_id 7 for calling a global function with example usage: _adjust_breaks(breaks, right) and returns: fuzzy