code: def roc_auc(
      ys, yhat, positive=True, presorted=False, return_curve=False
  ):
      """Computes the area under the receiver operating characteristic curve (higher is better).
  
      :param y: true function values
      :param yhat: predicted function values
      :param positive: the positive label
      :param presorted: whether or not ys and yhat are already sorted
      :type presorted: bool
      :param return_curve: whether or not the curve should be returned
      :type return_curve: bool
  
      >>> roc_auc([0, 0, 1, 1], [0, 0, 1, 1], 1)
      1.0
  
      >>> roc_auc([0,0,1,1], [0,1,1,2], 1)
      0.875
  
      """
      curve = compute_curve(ys, yhat, _fpr, _recall, positive)
      if return_curve:
          return auc(curve), curve
      else:
          return auc(curve)
  
imports: import math
  import operator
label_desc: Use image node_id 19 for calling a global function with example usage: roc_auc(ys, yhat, positive, presorted, return_curve) and returns: auc,  curve, auc