Mercurial > sdl-ios-xcode
annotate test/testatomic.c @ 3195:08747e24a50f
Mouse events now report the correct window id and window enter/leave events are now reported.
author | Bob Pendleton <bob@pendleton.com> |
---|---|
date | Thu, 11 Jun 2009 20:08:33 +0000 |
parents | 51750b7a966f |
children | 3e1bf2b8bd81 |
rev | line source |
---|---|
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
1 #include "SDL.h" |
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
2 |
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
3 int |
3186 | 4 main(int argc, char **argv) |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
5 { |
3186 | 6 int rv = 10; |
7 volatile int atomic; | |
8 | |
9 SDL_atomic_int_set(&atomic, 10); | |
10 if (SDL_atomic_int_get(&atomic) != 10) | |
11 printf("Error: "); | |
12 printf("SDL_atomic_int_set(atomic, 10): atomic-> %d\n", | |
13 SDL_atomic_int_get(&atomic)); | |
14 | |
15 SDL_atomic_int_add(&atomic, 10); | |
16 if (SDL_atomic_int_get(&atomic) != 20) | |
17 printf("Error: "); | |
18 printf("SDL_atomic_int_add(atomic, 10): atomic-> %d\n", | |
19 SDL_atomic_int_get(&atomic)); | |
20 | |
21 rv = SDL_atomic_int_cmp_xchg(&atomic, 20, 30); | |
22 if (rv != SDL_TRUE || SDL_atomic_int_get(&atomic) != 30) | |
23 printf("Error: "); | |
24 printf("SDL_atomic_int_cmp_xchg(atomic, 20, 30): rv-> %d, atomic-> %d\n", | |
25 rv, SDL_atomic_int_get(&atomic)); | |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
26 |
3186 | 27 rv = SDL_atomic_int_cmp_xchg(&atomic, 20, 30); |
28 if (rv != SDL_FALSE || SDL_atomic_int_get(&atomic) != 30) | |
29 printf("Error: "); | |
30 printf("SDL_atomic_int_cmp_xchg(atomic, 20, 40): rv-> %d, atomic-> %d\n", | |
31 rv, SDL_atomic_int_get(&atomic)); | |
32 | |
33 rv = SDL_atomic_int_xchg_add(&atomic, 10); | |
34 if (rv != 30 || SDL_atomic_int_get(&atomic) != 40) | |
35 printf("Error: "); | |
36 printf("SDL_atomic_int_xchg_add(atomic, 10): rv-> %d, atomic-> %d\n", | |
37 rv, SDL_atomic_int_get(&atomic)); | |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
38 |
3186 | 39 SDL_atomic_int_inc(&atomic); |
40 if (SDL_atomic_int_get(&atomic) != 41) | |
41 printf("Error: "); | |
42 printf("SDL_atomic_int_inc(atomic): atomic-> %d\n", | |
43 SDL_atomic_int_get(&atomic)); | |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
44 |
3186 | 45 rv = SDL_atomic_int_dec_test(&atomic); |
46 if (rv != SDL_FALSE || SDL_atomic_int_get(&atomic) != 40) | |
47 printf("Error: "); | |
48 printf("SDL_atomic_int_dec_test(atomic): rv-> %d, atomic-> %d\n", | |
49 rv, SDL_atomic_int_get(&atomic)); | |
50 | |
51 SDL_atomic_int_set(&atomic, 1); | |
52 if (SDL_atomic_int_get(&atomic) != 1) | |
53 printf("Error: "); | |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
54 printf("SDL_atomic_int_set(atomic, 1): atomic-> %d\n", |
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
55 SDL_atomic_int_get(&atomic)); |
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
56 |
3186 | 57 rv = SDL_atomic_int_dec_test(&atomic); |
58 if (rv != SDL_TRUE || SDL_atomic_int_get(&atomic) != 0) | |
59 printf("Error: "); | |
60 printf("SDL_atomic_int_dec_test(atomic): rv-> %d, atomic-> %d\n", | |
61 rv, SDL_atomic_int_get(&atomic)); | |
62 | |
63 return 0; | |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
diff
changeset
|
64 } |