parameters: (self)
return_statement: return content
docstring: @brief convert to string
function: def __str__(self):
          """
          @brief convert to string
          """
          content = ""
          if self.iteration is not None:
              content = "iteration %4d" % (self.iteration)
          if self.detailed_step is not None:
              content += ", (%4d, %2d, %2d)" % (self.detailed_step[0], self.detailed_step[1], self.detailed_step[2])
          if self.objective is not None:
              content += ", Obj %.6E" % (self.objective)
          if self.wirelength is not None:
              content += ", WL %.3E" % (self.wirelength)
          if self.density is not None:
              if self.density.numel() == 1:
                  content += ", Density %.3E" % (self.density)
              else:
                  content += ", Density [%s]" % ", ".join(["%.3E" % i for i in self.density])
          if self.density_weight is not None:
              if self.density_weight.numel() == 1:
                  content += ", DensityWeight %.6E" % (self.density_weight)
              else:
                  content += ", DensityWeight [%s]" % ", ".join(["%.3E" % i for i in self.density_weight])
          if self.hpwl is not None:
              content += ", HPWL %.6E" % (self.hpwl)
          if self.rmst_wl is not None:
              content += ", RMSTWL %.3E" % (self.rmst_wl)
          if self.overflow is not None:
              if self.overflow.numel() == 1:
                  content += ", Overflow %.6E" % (self.overflow)
              else:
                  content += ", Overflow [%s]" % ", ".join(["%.3E" % i for i in self.overflow])
          if self.goverflow is not None:
              content += ", Global Overflow %.6E" % (self.goverflow)
          if self.max_density is not None:
              if self.max_density.numel() == 1:
                  content += ", MaxDensity %.3E" % (self.max_density)
              else:
                  content += ", MaxDensity [%s]" % ", ".join(["%.3E" % i for i in self.max_density])
          if self.route_utilization is not None:
              content += ", RouteOverflow %.6E" % (self.route_utilization)
          if self.pin_utilization is not None:
              content += ", PinOverflow %.6E" % (self.pin_utilization)
          if self.gamma is not None:
              content += ", gamma %.6E" % (self.gamma)
          if self.eval_time is not None:
              content += ", time %.3fms" % (self.eval_time*1000)
  
          return content
function_tokens: def __str__ ( self ) : content = "" if self . iteration is not None : content = "iteration %4d" % ( self . iteration ) if self . detailed_step is not None : content += ", (%4d, %2d, %2d)" % ( self . detailed_step [ 0 ] , self . detailed_step [ 1 ] , self . detailed_step [ 2 ] ) if self . objective is not None : content += ", Obj %.6E" % ( self . objective ) if self . wirelength is not None : content += ", WL %.3E" % ( self . wirelength ) if self . density is not None : if self . density . numel ( ) == 1 : content += ", Density %.3E" % ( self . density ) else : content += ", Density [%s]" % ", " . join ( [ "%.3E" % i for i in self . density ] ) if self . density_weight is not None : if self . density_weight . numel ( ) == 1 : content += ", DensityWeight %.6E" % ( self . density_weight ) else : content += ", DensityWeight [%s]" % ", " . join ( [ "%.3E" % i for i in self . density_weight ] ) if self . hpwl is not None : content += ", HPWL %.6E" % ( self . hpwl ) if self . rmst_wl is not None : content += ", RMSTWL %.3E" % ( self . rmst_wl ) if self . overflow is not None : if self . overflow . numel ( ) == 1 : content += ", Overflow %.6E" % ( self . overflow ) else : content += ", Overflow [%s]" % ", " . join ( [ "%.3E" % i for i in self . overflow ] ) if self . goverflow is not None : content += ", Global Overflow %.6E" % ( self . goverflow ) if self . max_density is not None : if self . max_density . numel ( ) == 1 : content += ", MaxDensity %.3E" % ( self . max_density ) else : content += ", MaxDensity [%s]" % ", " . join ( [ "%.3E" % i for i in self . max_density ] ) if self . route_utilization is not None : content += ", RouteOverflow %.6E" % ( self . route_utilization ) if self . pin_utilization is not None : content += ", PinOverflow %.6E" % ( self . pin_utilization ) if self . gamma is not None : content += ", gamma %.6E" % ( self . gamma ) if self . eval_time is not None : content += ", time %.3fms" % ( self . eval_time * 1000 ) return content