openvm_recursion_circuit/cuda/
types.rs1use openvm_stark_sdk::config::baby_bear_poseidon2::F;
2
3#[repr(C)]
4#[derive(Debug, Default)]
5pub struct TraceHeight {
6 pub air_idx: usize,
7 pub log_height: u8,
8}
9
10#[repr(C)]
11#[derive(Debug, Default)]
12pub struct TraceMetadata {
13 pub cached_idx: usize,
14 pub starting_cidx: usize,
15 pub total_interactions: usize,
16 pub num_air_id_lookups: usize,
17}
18
19#[repr(C)]
20#[derive(Debug, Default)]
21pub struct PublicValueData {
22 pub air_idx: usize,
23 pub air_num_pvs: usize,
24 pub num_airs: usize,
25 pub pv_idx: usize,
26 pub value: F,
27}
28
29#[repr(C)]
30#[derive(Debug, Default)]
31pub struct AirData {
32 pub num_cached: usize,
33 pub num_interactions_per_row: usize,
34 pub total_width: usize,
35 pub has_preprocessed: bool,
36}
37
38#[repr(C)]
39#[derive(Debug, Default, Clone, Copy)]
40pub struct MerkleVerifyRecord {
41 pub proof_idx: u16,
42 pub merkle_proof_idx: u16,
43 pub start_row: u32,
44 pub num_rows: u32,
45 pub depth: u16,
46 pub merkle_idx: u32,
47 pub commit_major: u16,
48 pub commit_minor: u16,
49 pub leaf_hash_offset: u32,
50 pub siblings_offset: u32,
51}