code: def phi(r, order):
      """Coordinate-wise nonlinearity used to define the order of the interpolation.
  
      See https://en.wikipedia.org/wiki/Polyharmonic_spline for the definition.
      Args:
      r: input op
      order: interpolation order
      Returns:
      phi_k evaluated coordinate-wise on r, for k = r
      """
      EPSILON = torch.tensor(1e-10, device=r.device)
      # using EPSILON prevents log(0), sqrt0), etc.
      # sqrt(0) is well-defined, but its gradient is not
      if order == 1:
          r = torch.max(r, EPSILON)
          r = torch.sqrt(r)
          return r
      elif order == 2:
          return 0.5 * r * torch.log(torch.max(r, EPSILON))
      elif order == 4:
          return (
              0.5 * torch.square(r) * torch.log(torch.max(r, EPSILON))
          )
      elif order % 2 == 0:
          r = torch.max(r, EPSILON)
          return 0.5 * torch.pow(r, 0.5 * order) * torch.log(r)
      else:
          r = torch.max(r, EPSILON)
          return torch.pow(r, 0.5 * order)
  
file_path: espnet/espnet/utils/spec_augment.py
imports: import random
  import torch
label_desc: Use image node_id 13 for calling a global function with example usage: phi(r, order) and returns: r, unknown, unknown, unknown, torch