1  typedef struct
       2    {
       3      long i;
       4      double f;
       5    } T;
       6  
       7  f (T *n1, T *n2)
       8  {
       9    if (g (n2))
      10      return n1->i - n2->i;
      11    else
      12      {
      13        double f = n1->f - n2->i;
      14        return f == 0.0 ? 0 : (f > 0.0 ? 1 : -1);
      15      }
      16  }