aboutsummaryrefslogblamecommitdiff
path: root/test/test-uint_cases.c
blob: bb57f40805f2450ac41328c4945b0ff04526d5f0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
  




                                      





                   
                                  









                    
                             
 
                                 

                 







                      
                






                      
                                 
 
                                 

                     





                        
 
             
                    





                        
 

     
                                      
 
                                  

                          





                        
 
             
                         





                        
 
     
 










                    
                             
 
                                 

                






                      
                







                      
                                 
 
                                 

                    





                        

                    







                        
                                        
 
                                    

                           





                          

                           








                          
 
     
 
   


















                    
                             
 
                                 

                






                      
                                 
 
                                 

                    






                        
                                        
 
                                    

                           





                          
 
       
 





     
/*
 * compile with -DINT_TYPE="char"
 *          or  -DINT_TYPE="short"
 *          or  -DINT_TYPE="int"
 *          or  -DINT_TYPE="long"
 *          or  -DINT_TYPE="long long"
 */

#include <assert.h>

int main() {

  volatile unsigned INT_TYPE a, b;

  a = 1;
  b = 8;
  assert((a < b));
  assert((a <= b));
  assert(!(a > b));
  assert(!(a >= b));
  assert((a != b));
  assert(!(a == b));

  if ((INT_TYPE)(~0) > 255) {

    volatile unsigned short a, b;
    a = 256 + 2;
    b = 256 + 21;
    assert((a < b));
    assert((a <= b));
    assert(!(a > b));
    assert(!(a >= b));
    assert((a != b));
    assert(!(a == b));

    a = 21;
    b = 256 + 1;
    assert((a < b));
    assert((a <= b));
    assert(!(a > b));
    assert(!(a >= b));
    assert((a != b));
    assert(!(a == b));

    if ((INT_TYPE)(~0) > 65535) {

      volatile unsigned int a, b;
      a = 65536 + 2;
      b = 65536 + 21;
      assert((a < b));
      assert((a <= b));
      assert(!(a > b));
      assert(!(a >= b));
      assert((a != b));
      assert(!(a == b));

      a = 21;
      b = 65536 + 1;
      assert((a < b));
      assert((a <= b));
      assert(!(a > b));
      assert(!(a >= b));
      assert((a != b));
      assert(!(a == b));

    }

    if ((INT_TYPE)(~0) > 4294967295) {

      volatile unsigned long a, b;
      a = 4294967296 + 2;
      b = 4294967296 + 21;
      assert((a < b));
      assert((a <= b));
      assert(!(a > b));
      assert(!(a >= b));
      assert((a != b));
      assert(!(a == b));

      a = 21;
      b = 4294967296 + 1;
      assert((a < b));
      assert((a <= b));
      assert(!(a > b));
      assert(!(a >= b));
      assert((a != b));
      assert(!(a == b));

    }

  }

  a = 8;
  b = 1;
  assert((a > b));
  assert((a >= b));
  assert(!(a < b));
  assert(!(a <= b));
  assert((a != b));
  assert(!(a == b));

  if ((INT_TYPE)(~0) > 255) {

    volatile unsigned short a, b;
    a = 256 + 2;
    b = 256 + 1;
    assert((a > b));
    assert((a >= b));
    assert(!(a < b));
    assert(!(a <= b));
    assert((a != b));
    assert(!(a == b));

    a = 256 + 2;
    b = 6;
    assert((a > b));
    assert((a >= b));
    assert(!(a < b));
    assert(!(a <= b));
    assert((a != b));
    assert(!(a == b));

    if ((INT_TYPE)(~0) > 65535) {

      volatile unsigned int a, b;
      a = 65536 + 2;
      b = 65536 + 1;
      assert((a > b));
      assert((a >= b));
      assert(!(a < b));
      assert(!(a <= b));
      assert((a != b));
      assert(!(a == b));

      a = 65536 + 2;
      b = 6;
      assert((a > b));
      assert((a >= b));
      assert(!(a < b));
      assert(!(a <= b));
      assert((a != b));
      assert(!(a == b));

      if ((INT_TYPE)(~0) > 4294967295) {

        volatile unsigned long a, b;
        a = 4294967296 + 2;
        b = 4294967296 + 1;
        assert((a > b));
        assert((a >= b));
        assert(!(a < b));
        assert(!(a <= b));
        assert((a != b));
        assert(!(a == b));

        a = 4294967296 + 2;
        b = 6;
        assert((a > b));
        assert((a >= b));
        assert(!(a < b));
        assert(!(a <= b));
        assert((a != b));
        assert(!(a == b));

      }

    }

  }

  a = 0;
  b = 0;
  assert(!(a < b));
  assert((a <= b));
  assert(!(a > b));
  assert((a >= b));
  assert(!(a != b));
  assert((a == b));

  a = 1;
  b = 1;
  assert(!(a < b));
  assert((a <= b));
  assert(!(a > b));
  assert((a >= b));
  assert(!(a != b));
  assert((a == b));

  if ((INT_TYPE)(~0) > 255) {

    volatile unsigned short a, b;
    a = 256 + 5;
    b = 256 + 5;
    assert(!(a < b));
    assert((a <= b));
    assert(!(a > b));
    assert((a >= b));
    assert(!(a != b));
    assert((a == b));

    if ((INT_TYPE)(~0) > 65535) {

      volatile unsigned int a, b;
      a = 65536 + 5;
      b = 65536 + 5;
      assert(!(a < b));
      assert((a <= b));
      assert(!(a > b));
      assert((a >= b));
      assert(!(a != b));
      assert((a == b));

      if ((INT_TYPE)(~0) > 4294967295) {

        volatile unsigned long a, b;
        a = 4294967296 + 5;
        b = 4294967296 + 5;
        assert(!(a < b));
        assert((a <= b));
        assert(!(a > b));
        assert((a >= b));
        assert(!(a != b));
        assert((a == b));

      }

    }

  }

}