MCPcopy Create free account
hub / github.com/argumentcomputer/ix / build

Method build

crates/aiur/src/memory.rs:39–52  ·  view source on GitHub ↗
(size: usize)

Source from the content-addressed store, hash-verified

37 let pointer = var(2);
38 let mut args = Vec::with_capacity(3 + size);
39 args.push(selector.clone() * memory_channel());
40 args.push(selector.clone() * G::from_usize(size));
41 args.push(selector.clone() * pointer);
42 for val_idx in 0..size {
43 args.push(selector.clone() * var(3 + val_idx));
44 }
45 let width = Self::width(size);
46 (Self { width }, vec![Lookup::pull(multiplicity, args)])
47 }
48
49 pub fn witness_data(
50 size: usize,
51 record: &QueryRecord,
52 slot_arg_widths: &[usize],
53 ) -> (RowMajorMatrix<G>, LookupValues<G>) {
54 let queries = record.memory_queries.get(&size).expect("Invalid size");
55 let width = Self::width(size);

Callers

nothing calls this directly

Calls 4

memory_channelFunction · 0.85
pushMethod · 0.80
varFunction · 0.50
cloneMethod · 0.45

Tested by

no test coverage detected