| 123456789101112131415161718192021222324252627282930313233343536373839 |
- use ibig::{ibig, ubig};
- #[test]
- fn test_pow_ubig() {
- let test_cases = [
- (ubig!(0), 0, ubig!(1)),
- (ubig!(100), 0, ubig!(1)),
- (ubig!(0), 1, ubig!(0)),
- (ubig!(100), 1, ubig!(100)),
- (ubig!(0), 2, ubig!(0)),
- (ubig!(100), 2, ubig!(10000)),
- (ubig!(0), 100, ubig!(0)),
- (ubig!(1), 100, ubig!(1)),
- (ubig!(2), 10, ubig!(1024)),
- (ubig!(7), 10, ubig!(282475249)),
- (ubig!(123), 13, ubig!(_1474913153392179474539944683)),
- ];
- for (a, b, c) in &test_cases {
- assert_eq!(a.pow(*b), *c);
- }
- }
- #[test]
- fn test_pow_ibig() {
- let test_cases = [
- (ibig!(0), 0, ibig!(1)),
- (ibig!(0), 12, ibig!(0)),
- (ibig!(0), 13, ibig!(0)),
- (ibig!(7), 2, ibig!(49)),
- (ibig!(7), 3, ibig!(343)),
- (ibig!(-7), 2, ibig!(49)),
- (ibig!(-7), 3, ibig!(-343)),
- ];
- for (a, b, c) in &test_cases {
- assert_eq!(a.pow(*b), *c);
- }
- }
|