Skip to content

Commit

Permalink
feat: Add support for slices of structs and nested slices in brillig (#…
Browse files Browse the repository at this point in the history
…2084)

* Start experiment to merge array and slice types

* Finish merger of slices and arrays

* Implement missing try_bind function

* Add missed case for NotConstant

* Fix some tests

* Fix poseidon test

* Fix evaluation of slice length

* Fix tests

* fix: Initialize Value::Array of type Slice

* test: improved brillig test after bug fix

* fix: Slice initialization (#2080)

* fix: Initialize Value::Array of type Slice

* test: improved brillig test after bug fix

* feat: nested slices

* fix: insert and remove indexes

* fix: add missing deallocation

* test: added more cases to nested slice test

* refactor: simplify array length instructions

* test: fix stale import

* refactor: reuse element_size and regen json

* Update crates/noirc_evaluator/src/brillig/brillig_gen/brillig_block.rs

---------

Co-authored-by: Jake Fecher <jake@aztecprotocol.com>
  • Loading branch information
sirasistant and jfecher authored Aug 7, 2023
1 parent c46d7a0 commit 620517f
Show file tree
Hide file tree
Showing 9 changed files with 553 additions and 324 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[package]
name = "brillig_nested_slices"
type = "bin"
authors = [""]
compiler_version = "0.6.0"

[dependencies]
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
a = "5"
b = "10"
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
use dep::std::slice;
use dep::std;

// Tests nested slice passing to/from functions
unconstrained fn push_back_to_slice<T>(slice: [T], item: T) -> [T] {
slice.push_back(item)
}

struct NestedSliceStruct {
id: Field,
arr: [Field]
}

unconstrained fn create_foo(id: Field, value: Field) -> NestedSliceStruct {
let mut arr = [id];
arr = arr.push_back(value);
NestedSliceStruct { id, arr }
}

unconstrained fn main(a: Field, b: Field) {
let mut slice = [create_foo(a, b), create_foo(b, a)];
assert(slice.len() == 2);

assert(slice[0].id == a);
assert(slice[0].arr[0] == a);
assert(slice[1].id == b);
assert(slice[1].arr[1] == a);

slice = push_back_to_slice(slice, create_foo(0, 42));
assert(slice.len() == 3);

assert(slice[0].id == a);
assert(slice[0].arr[0] == a);
assert(slice[1].id == b);
assert(slice[1].arr[1] == a);

assert(slice[2].id == 0);
assert(slice[2].arr[0] == 0);
assert(slice[2].arr[1] == 42);

slice = slice.push_front(create_foo(1, 43));
slice = slice.push_back(create_foo(2, 44));

assert(slice.len() == 5);

let pop_front_result = slice.pop_front();
slice = pop_front_result.1;
assert(pop_front_result.0.id == 1);

let pop_back_result = slice.pop_back();
slice = pop_back_result.0;
assert(pop_back_result.1.id == 2);

assert(slice.len() == 3);

let mut remove_result = slice.remove(0);
slice = remove_result.0;
let mut removed_item = remove_result.1;
assert(removed_item.arr[0] == a);

remove_result = slice.remove(1);
slice = remove_result.0;
removed_item = remove_result.1;
assert(removed_item.arr[0] == 0);

let last_item = slice[0];

assert(last_item.id == b);
slice = slice.insert(1, removed_item);

assert(slice.len() == 2);
assert(slice[0].id == b);
assert(slice[1].id == 0);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"backend":"acvm-backend-barretenberg","abi":{"parameters":[{"name":"a","type":{"kind":"field"},"visibility":"private"},{"name":"b","type":{"kind":"field"},"visibility":"private"}],"param_witnesses":{"a":[1],"b":[2]},"return_type":null,"return_witnesses":[]},"bytecode":"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","proving_key":null,"verification_key":null}
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ unconstrained fn main(x: Field, y: Field) {
// Tests slice passing to/from functions
unconstrained fn push_front_to_slice<T>(slice: [T], item: T) -> [T] {
slice.push_front(item)
}
}
Loading

0 comments on commit 620517f

Please sign in to comment.