Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Hey /prog/

Name: Anonymous 2011-02-03 19:14

Do you like my list comparison function?

#define NEXT(x) (p = (p)->next)
int compare (struct int_list *p, struct int_list *q) {
     for(; p && q; NEXT(p), NEXT(q));
    
     return p ? q ? p->value < q->value ? -1 : q->value < p->value ? 1 : 0 : 1 : q ? -1 : 0;
}
#undef NEXT

Name: Anonymous 2011-02-03 20:16

return (p?
          (q?
             (p->value < q->value?
                                   -1
                                  :(q->value < p->value? 1 : 0))
             :1)
         :(q? -1 : 0));

=>

return !p? (q? -1 : 0) :
            q? !(p->value < q->value)? !(p->value > q->value)?
            0: 1: -1: 1;

=>

return (p && q)? !(p->value > q->value)? !(p->value < q->value)?
                     0: -1: 1:
                 !p? !q?
                     0: -1: 1;


Also, your code doesn't work.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List