00001 #include <linux/aquosa/qos_debug.h>
00002 #include <linux/aquosa/qos_ul.h>
00003
00004 int main() {
00005 qos_chk_exit(ul_shl_div(0x7FFFul, 16, 0x20000ul) == 0x3FFFul);
00006 qos_chk_exit(ul_shl_div(0x80002244ul, 16, 0x20000ul) == (__u32) 0x40001122ul);
00007 qos_chk_exit(ul_shl_div(0x84210002ul, 16, 0x20000ul) == (__u32) 0x42108001ul);
00008
00009 qos_chk_exit(ul_shl_ceil(0x00007FFFul, 16, 0x20000ul) == (__u32) 0x00004000ul);
00010 qos_chk_exit(ul_shl_ceil(0x00010001ul, 16, 0x20000ul) == (__u32) 0x00008001ul);
00011 qos_chk_exit(ul_shl_ceil(0x00010001ul, 16, 0x20000ul) == (__u32) 0x00008001ul);
00012
00013 qos_chk_exit(ul_mul_shr(0x10000ul, 0x1ul, 16) == 0x1ul);
00014 qos_chk_exit(ul_mul_shr(0x10000, 0x10000, 16) == 0x10000ul);
00015 qos_chk_exit(ul_mul_shr(0x40002244ul, 0x20000ul, 16) == (__u32) 0x80004488ul);
00016 qos_chk_exit(ul_mul_shr(0x44010101ul, 0x20000ul, 16) == (__u32) 0x88020202ul);
00017
00018 qos_chk_exit(ul_mul_div(0x10000ul, 0x1ul, 0x10000ul) == 0x1ul);
00019 qos_chk_exit(ul_mul_div(0x10000, 0x10000, 0x10000ul) == 0x10000ul);
00020 qos_chk_exit(ul_mul_div(0x40002244ul, 0x20000ul, 0x10000ul) == (__u32) 0x80004488ul);
00021 qos_chk_exit(ul_mul_div(0x44010101ul, 0x20000ul, 0x10000ul) == (__u32) 0x88020202ul);
00022 qos_chk_exit(ul_mul_div(0xCC886622ul, 0x44444444ul, 0x88888888ul)
00023 == (__u32) 0x66443311ul);
00024
00025 return 0;
00026 }