test/testatomic.c
changeset 3180 77d6336711fc
child 3186 51750b7a966f
equal deleted inserted replaced
3179:9b34679fda8b 3180:77d6336711fc
       
     1 #include "SDL.h"
       
     2 
       
     3 int
       
     4 main(int argc, char** argv)
       
     5 {
       
     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));
       
    26   
       
    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));
       
    38 
       
    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));
       
    44 
       
    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: ");    
       
    54     printf("SDL_atomic_int_set(atomic, 1): atomic-> %d\n",
       
    55            SDL_atomic_int_get(&atomic));
       
    56 
       
    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;
       
    64 }