Lines Matching refs:magic

700     fn eval_magic_u32_div(n: u32, magic: &MU32) -> u32 {  in eval_magic_u32_div()
701 let mut q = mulhw_u32(n, magic.mul_by); in eval_magic_u32_div()
702 if magic.do_add { in eval_magic_u32_div()
703 assert!(magic.shift_by >= 1 && magic.shift_by <= 32); in eval_magic_u32_div()
707 q = t >> (magic.shift_by - 1); in eval_magic_u32_div()
709 assert!(magic.shift_by >= 0 && magic.shift_by <= 31); in eval_magic_u32_div()
710 q >>= magic.shift_by; in eval_magic_u32_div()
716 fn eval_magic_u32_rem(n: u32, d: u32, magic: &MU32) -> u32 { in eval_magic_u32_rem()
717 let mut q = mulhw_u32(n, magic.mul_by); in eval_magic_u32_rem()
718 if magic.do_add { in eval_magic_u32_rem()
719 assert!(magic.shift_by >= 1 && magic.shift_by <= 32); in eval_magic_u32_rem()
723 q = t >> (magic.shift_by - 1); in eval_magic_u32_rem()
725 assert!(magic.shift_by >= 0 && magic.shift_by <= 31); in eval_magic_u32_rem()
726 q >>= magic.shift_by; in eval_magic_u32_rem()
733 fn eval_magic_u64_div(n: u64, magic: &MU64) -> u64 { in eval_magic_u64_div()
734 let mut q = mulhw_u64(n, magic.mul_by); in eval_magic_u64_div()
735 if magic.do_add { in eval_magic_u64_div()
736 assert!(magic.shift_by >= 1 && magic.shift_by <= 64); in eval_magic_u64_div()
740 q = t >> (magic.shift_by - 1); in eval_magic_u64_div()
742 assert!(magic.shift_by >= 0 && magic.shift_by <= 63); in eval_magic_u64_div()
743 q >>= magic.shift_by; in eval_magic_u64_div()
749 fn eval_magic_u64_rem(n: u64, d: u64, magic: &MU64) -> u64 { in eval_magic_u64_rem()
750 let mut q = mulhw_u64(n, magic.mul_by); in eval_magic_u64_rem()
751 if magic.do_add { in eval_magic_u64_rem()
752 assert!(magic.shift_by >= 1 && magic.shift_by <= 64); in eval_magic_u64_rem()
756 q = t >> (magic.shift_by - 1); in eval_magic_u64_rem()
758 assert!(magic.shift_by >= 0 && magic.shift_by <= 63); in eval_magic_u64_rem()
759 q >>= magic.shift_by; in eval_magic_u64_rem()
766 fn eval_magic_s32_div(n: i32, d: i32, magic: &MS32) -> i32 { in eval_magic_s32_div()
767 let mut q: i32 = mulhw_s32(n, magic.mul_by); in eval_magic_s32_div()
768 if d > 0 && magic.mul_by < 0 { in eval_magic_s32_div()
770 } else if d < 0 && magic.mul_by > 0 { in eval_magic_s32_div()
773 assert!(magic.shift_by >= 0 && magic.shift_by <= 31); in eval_magic_s32_div()
774 q = q >> magic.shift_by; in eval_magic_s32_div()
782 fn eval_magic_s32_rem(n: i32, d: i32, magic: &MS32) -> i32 { in eval_magic_s32_rem()
783 let mut q: i32 = mulhw_s32(n, magic.mul_by); in eval_magic_s32_rem()
784 if d > 0 && magic.mul_by < 0 { in eval_magic_s32_rem()
786 } else if d < 0 && magic.mul_by > 0 { in eval_magic_s32_rem()
789 assert!(magic.shift_by >= 0 && magic.shift_by <= 31); in eval_magic_s32_rem()
790 q = q >> magic.shift_by; in eval_magic_s32_rem()
799 fn eval_magic_s64_div(n: i64, d: i64, magic: &MS64) -> i64 { in eval_magic_s64_div()
800 let mut q: i64 = mulhw_s64(n, magic.mul_by); in eval_magic_s64_div()
801 if d > 0 && magic.mul_by < 0 { in eval_magic_s64_div()
803 } else if d < 0 && magic.mul_by > 0 { in eval_magic_s64_div()
806 assert!(magic.shift_by >= 0 && magic.shift_by <= 63); in eval_magic_s64_div()
807 q = q >> magic.shift_by; in eval_magic_s64_div()
815 fn eval_magic_s64_rem(n: i64, d: i64, magic: &MS64) -> i64 { in eval_magic_s64_rem()
816 let mut q: i64 = mulhw_s64(n, magic.mul_by); in eval_magic_s64_rem()
817 if d > 0 && magic.mul_by < 0 { in eval_magic_s64_rem()
819 } else if d < 0 && magic.mul_by > 0 { in eval_magic_s64_rem()
822 assert!(magic.shift_by >= 0 && magic.shift_by <= 63); in eval_magic_s64_rem()
823 q = q >> magic.shift_by; in eval_magic_s64_rem()
883 let magic: MU32 = magic_u32(d); in test_magic_generators_give_correct_numbers() localVariable
887 let q = eval_magic_u32_div(n, &magic); in test_magic_generators_give_correct_numbers()
934 let magic: MS32 = magic_s32(d); in test_magic_generators_give_correct_numbers() localVariable
938 let q = eval_magic_s32_div(n, d, &magic); in test_magic_generators_give_correct_numbers()
974 let magic: MU64 = magic_u64(d); in test_magic_generators_give_correct_numbers() localVariable
978 let q = eval_magic_u64_div(n, &magic); in test_magic_generators_give_correct_numbers()
1025 let magic: MS64 = magic_s64(d); in test_magic_generators_give_correct_numbers() localVariable
1029 let q = eval_magic_s64_div(n, d, &magic); in test_magic_generators_give_correct_numbers()
1161 let magic = magic_u32(divisor); localVariable
1162 let actual_div = eval_magic_u32_div(numerator, &magic);
1163 let actual_rem = eval_magic_u32_rem(numerator, divisor, &magic);
1174 let magic = magic_u64(divisor); localVariable
1175 let actual_div = eval_magic_u64_div(numerator, &magic);
1176 let actual_rem = eval_magic_u64_rem(numerator, divisor, &magic);
1190 let magic = magic_s32(divisor); localVariable
1191 let actual_div = eval_magic_s32_div(numerator, divisor, &magic);
1192 let actual_rem = eval_magic_s32_rem(numerator, divisor, &magic);
1206 let magic = magic_s64(divisor); localVariable
1207 let actual_div = eval_magic_s64_div(numerator, divisor, &magic);
1208 let actual_rem = eval_magic_s64_rem(numerator, divisor, &magic);