diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-03-05 09:20:40 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-04-10 17:29:17 +0300 |
| commit | a579c8269704606752892bfab120ecd3bd3cf20d (patch) | |
| tree | 8aaf5a95b2c9ec76060f7f91b9704ac0b1aa15ca /guests/fibonacci_matrix/src/lib.rs | |
| parent | f74b8238b25d4b063f7e207e7e2816268fabb973 (diff) | |
| download | zkVMs-benchmarks-a579c8269704606752892bfab120ecd3bd3cf20d.tar zkVMs-benchmarks-a579c8269704606752892bfab120ecd3bd3cf20d.tar.gz zkVMs-benchmarks-a579c8269704606752892bfab120ecd3bd3cf20d.zip | |
feat(guests): Add fibonacci implementation using matrix exponentiation
Originally tried by Dimo Dimov
Co-authored-by: Dimo99 <dimodimov1999@gmail.com>
Diffstat (limited to 'guests/fibonacci_matrix/src/lib.rs')
| -rw-r--r-- | guests/fibonacci_matrix/src/lib.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/guests/fibonacci_matrix/src/lib.rs b/guests/fibonacci_matrix/src/lib.rs new file mode 100644 index 0000000..bc20dd2 --- /dev/null +++ b/guests/fibonacci_matrix/src/lib.rs @@ -0,0 +1,10 @@ +#![cfg_attr(feature = "no_std", no_std)] + +use nalgebra::Matrix2; + +#[guests_macro::proving_entrypoint] +pub fn main(n: u8, fN: u64) -> bool { + let r = Matrix2::new(1, 1, 1, 0).pow((n - 1).into())[(0, 0)]; + + r == fN +} |
