xlog_prob/compilation/sparse_matrix.rs
1//! CSR sparse matrix representation for CNF formulas.
2
3use xlog_cuda::memory::TrackedCudaSlice;
4
5/// GPU-resident CNF in CSR (Compressed Sparse Row) format.
6#[allow(dead_code)] // reserved: CSR CNF representation for future GPU CDCL paths
7pub(crate) struct GpuCsrCnf {
8 /// Number of variables
9 pub num_vars: u32,
10 /// Number of clauses (rows)
11 pub num_clauses: u32,
12 /// CSR row pointers (length: num_clauses + 1)
13 pub row_ptr: TrackedCudaSlice<u32>,
14 /// CSR column indices (literal indices)
15 pub col_idx: TrackedCudaSlice<u32>,
16 /// CSR values (literal signs: +1 or -1)
17 pub values: TrackedCudaSlice<i8>,
18}