summaryrefslogtreecommitdiffstats
path: root/third_party/rust/num-bigint/tests/consts/mod.rs
blob: 87805d5e2427c3cff11626a3a043fa34f4465d05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#![allow(unused)]

pub const N1: u32 = -1i32 as u32;
pub const N2: u32 = -2i32 as u32;

pub const SUM_TRIPLES: &'static [(&'static [u32], &'static [u32], &'static [u32])] = &[
    (&[], &[], &[]),
    (&[], &[1], &[1]),
    (&[1], &[1], &[2]),
    (&[1], &[1, 1], &[2, 1]),
    (&[1], &[N1], &[0, 1]),
    (&[1], &[N1, N1], &[0, 0, 1]),
    (&[N1, N1], &[N1, N1], &[N2, N1, 1]),
    (&[1, 1, 1], &[N1, N1], &[0, 1, 2]),
    (&[2, 2, 1], &[N1, N2], &[1, 1, 2]),
    (&[1, 2, 2, 1], &[N1, N2], &[0, 1, 3, 1]),
];

pub const M: u32 = ::std::u32::MAX;
pub const MUL_TRIPLES: &'static [(&'static [u32], &'static [u32], &'static [u32])] = &[
    (&[], &[], &[]),
    (&[], &[1], &[]),
    (&[2], &[], &[]),
    (&[1], &[1], &[1]),
    (&[2], &[3], &[6]),
    (&[1], &[1, 1, 1], &[1, 1, 1]),
    (&[1, 2, 3], &[3], &[3, 6, 9]),
    (&[1, 1, 1], &[N1], &[N1, N1, N1]),
    (&[1, 2, 3], &[N1], &[N1, N2, N2, 2]),
    (&[1, 2, 3, 4], &[N1], &[N1, N2, N2, N2, 3]),
    (&[N1], &[N1], &[1, N2]),
    (&[N1, N1], &[N1], &[1, N1, N2]),
    (&[N1, N1, N1], &[N1], &[1, N1, N1, N2]),
    (&[N1, N1, N1, N1], &[N1], &[1, N1, N1, N1, N2]),
    (&[M / 2 + 1], &[2], &[0, 1]),
    (&[0, M / 2 + 1], &[2], &[0, 0, 1]),
    (&[1, 2], &[1, 2, 3], &[1, 4, 7, 6]),
    (&[N1, N1], &[N1, N1, N1], &[1, 0, N1, N2, N1]),
    (&[N1, N1, N1], &[N1, N1, N1, N1], &[1, 0, 0, N1, N2, N1, N1]),
    (&[0, 0, 1], &[1, 2, 3], &[0, 0, 1, 2, 3]),
    (&[0, 0, 1], &[0, 0, 0, 1], &[0, 0, 0, 0, 0, 1]),
];

pub const DIV_REM_QUADRUPLES: &'static [(
    &'static [u32],
    &'static [u32],
    &'static [u32],
    &'static [u32],
)] = &[
    (&[1], &[2], &[], &[1]),
    (&[3], &[2], &[1], &[1]),
    (&[1, 1], &[2], &[M / 2 + 1], &[1]),
    (&[1, 1, 1], &[2], &[M / 2 + 1, M / 2 + 1], &[1]),
    (&[0, 1], &[N1], &[1], &[1]),
    (&[N1, N1], &[N2], &[2, 1], &[3]),
];