pub struct FibonacciAir;Expand description
The Fibonacci AIR.
Two columns (a = column 0, b = column 1) with transition
constraints ensuring each row is the Fibonacci successor of
the previous row.
§Examples
use field_cat::{F101, Field};
use machine_cat::{Air, FibonacciAir, FibonacciInput, StepCount};
let air = FibonacciAir;
let input = FibonacciInput::new(
F101::new(1), F101::new(1), StepCount::new(3),
);
let trace = air.generate_trace(&input)?;
// 4 rows: (1,1), (1,2), (2,3), (3,5)
assert_eq!(trace.row_count().count(), 4);Trait Implementations§
Source§impl<F: Field> Air<F> for FibonacciAir
impl<F: Field> Air<F> for FibonacciAir
Source§type Input = FibonacciInput<F>
type Input = FibonacciInput<F>
The type of input this AIR computes over.
Source§fn column_count(&self) -> ColumnCount
fn column_count(&self) -> ColumnCount
The number of columns in this AIR’s trace.
Source§fn generate_trace(&self, input: &FibonacciInput<F>) -> Result<Trace<F>, Error>
fn generate_trace(&self, input: &FibonacciInput<F>) -> Result<Trace<F>, Error>
Generate the execution trace from an input. Read more
Source§impl Clone for FibonacciAir
impl Clone for FibonacciAir
Source§fn clone(&self) -> FibonacciAir
fn clone(&self) -> FibonacciAir
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FibonacciAir
impl Debug for FibonacciAir
impl Copy for FibonacciAir
Auto Trait Implementations§
impl Freeze for FibonacciAir
impl RefUnwindSafe for FibonacciAir
impl Send for FibonacciAir
impl Sync for FibonacciAir
impl Unpin for FibonacciAir
impl UnsafeUnpin for FibonacciAir
impl UnwindSafe for FibonacciAir
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more