From a579c8269704606752892bfab120ecd3bd3cf20d Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Wed, 5 Mar 2025 09:20:40 +0200 Subject: feat(guests): Add fibonacci implementation using matrix exponentiation Originally tried by Dimo Dimov Co-authored-by: Dimo99 --- guests/fibonacci_matrix/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 guests/fibonacci_matrix/src/lib.rs (limited to 'guests/fibonacci_matrix/src') 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 +} -- cgit v1.2.3