Hey /prog/
1
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
2
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.
3
Name:
Anonymous
2011-02-03 21:16
yes
4
Name:
Anonymous
2011-02-03 21:22
And have you tested this "list comparison" function for correctness?
5
Name:
Anonymous
2011-02-03 21:36
>>4
This is
/prog/ , I
never test code when I post it here
!
6
Name:
Anonymous
2011-02-04 5:56
#define NEXT(x) (p = (p)->next)
stopped reading there.
8
Name:
Anonymous
2011-02-04 13:19
what is the purpose of this code? give a segfault?
9
Name:
Anonymous
2011-02-04 15:33
lol fail
11
Name:
Anonymous
2011-02-04 15:48
12
Name:
Anonymous
2011-02-04 15:48
13
Name:
Anonymous
2011-02-04 16:48
14
Name:
Anonymous
2011-02-04 16:52
15
Name:
Anonymous
2011-02-04 19:36