00001 #include "config.h"
00002
00003 #include <cassert>
00004
00005 #include "asserts.h"
00006 #include "types.h"
00007
00008 void test_u8(void)
00009 {
00010 uint8 u8 = 0;
00011 uint8 u8_old = 0;
00012 unsigned int c = 0;
00013
00014 u8 = 1;
00015 for (c = 0; u8 != u8_old; c++) {
00016 u8_old = u8;
00017 u8 <<= 1;
00018 u8 |= 1;
00019 }
00020
00021 assert(c == 8);
00022 }
00023
00024 void test_u16(void)
00025 {
00026 uint16 u16 = 0;
00027 uint16 u16_old = 0;
00028 unsigned int c = 0;
00029
00030 u16 = 1;
00031 for (c = 0; u16 != u16_old; c++) {
00032 u16_old = u16;
00033 u16 <<= 1;
00034 u16 |= 1;
00035 }
00036
00037 assert(c == 16);
00038 }
00039
00040 void test_u32(void)
00041 {
00042 uint32 u32 = 0;
00043 uint32 u32_old = 0;
00044 unsigned int c = 0;
00045
00046 u32 = 1;
00047 for (c = 0; u32 != u32_old; c++) {
00048 u32_old = u32;
00049 u32 <<= 1;
00050 u32 |= 1;
00051 }
00052
00053 assert(c == 32);
00054 }
00055
00056 void test_u64(void)
00057 {
00058 uint64 u64 = 0;
00059 uint64 u64_old = 0;
00060 unsigned int c = 0;
00061
00062 u64 = 1;
00063 for (c = 0; u64 != u64_old; c++) {
00064 u64_old = u64;
00065 u64 <<= 1;
00066 u64 |= 1;
00067 }
00068
00069 assert(c == 64);
00070 }
00071
00072 int main(int argc, char* argv[])
00073 {
00074 test_u8();
00075 test_u16();
00076 test_u32();
00077 test_u64();
00078 return(0);
00079 }