[no description]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# cinter

const usable Arbitrary Precision (big) integers.

```rust
const fn fib(n: usize) -> (AP, AP) {
    if n == 0 {
        return (AP::new(0), AP::new(1));
    };

    let (α, β) = fib(n >> 1);
    let γ = &α * ((&β << 1) - &α);
    let δ = &α * &α + &β * &β;
    if n & 1 == 0 {
        return (γ, δ);
    }
    let t = γ + &δ;
    (δ, t)
}
#[allow(long_running_const_eval)]
pub const 1_MILLIONTH_FIBONACCI_NUMBER: AP = fib(1_000_000).0.globalize();
```