code: def dist(self, src, tar):
          
          if src == tar:
              return 0.0
  
          src_comp = self._rle.encode(self._bwt.encode(src))
          tar_comp = self._rle.encode(self._bwt.encode(tar))
          concat_comp = self._rle.encode(self._bwt.encode(src + tar))
          concat_comp2 = self._rle.encode(self._bwt.encode(tar + src))
  
          return (
              min(len(concat_comp), len(concat_comp2))
              - min(len(src_comp), len(tar_comp))
          ) / max(len(src_comp), len(tar_comp))
docs: Return the NCD between two strings using BWT plus RLE.
  
          Parameters
          ----------
          src : str
              Source string for comparison
          tar : str
              Target string for comparison
  
          Returns
          -------
          float
              Compression distance
  
          Examples
          --------
          >>> cmp = NCDbwtrle()
          >>> cmp.dist('cat', 'hat')
          0.75
          >>> cmp.dist('Niall', 'Neil')
          0.8333333333333334
          >>> cmp.dist('aluminum', 'Catalan')
          1.0
          >>> cmp.dist('ATCG', 'TAGC')
          0.8