Skip to content

Commit e7de92f

Browse files
authored
Clippy (#81)
* run clippy fix warnings * fmt
1 parent 4aa9f46 commit e7de92f

File tree

49 files changed

+127
-104
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+127
-104
lines changed

.github/workflows/rust.yml

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,56 @@ on:
44
push:
55
branches: [ main ]
66
pull_request:
7-
branches: [ main ]
7+
branches-ignore: []
88

99
env:
1010
CARGO_TERM_COLOR: always
1111

1212
jobs:
13-
1413
lint:
1514
runs-on: ubuntu-latest
1615
steps:
17-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v3
17+
18+
- name: Check formatting
19+
run: cargo fmt --check
1820

19-
- name: Check lint
20-
run: cargo fmt --check
21+
clippy:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/checkout@v3
25+
26+
- name: Install stable toolchain with clippy
27+
uses: actions-rs/toolchain@v1
28+
with:
29+
toolchain: stable
30+
components: clippy
31+
override: true
32+
33+
- name: Run clippy
34+
run: cargo clippy -- -D warnings
35+
36+
- name: Check for clippy fixes
37+
run: |
38+
cargo clippy --fix --allow-dirty --allow-staged || true
39+
if [[ -n "$(git status --porcelain)" ]]; then
40+
echo "❌ Clippy would make changes. Please run 'cargo clippy --fix'."
41+
git diff
42+
exit 1
43+
fi
2144
2245
test_with_default_features:
2346
runs-on: ubuntu-latest
2447
steps:
25-
- uses: actions/checkout@v3
48+
- uses: actions/checkout@v3
2649

27-
- name: Run tests
28-
run: cargo test --verbose
50+
- name: Run tests
51+
run: cargo test --verbose
2952

3053
test_with_no_default_features:
3154
runs-on: ubuntu-latest
3255
steps:
33-
- uses: actions/checkout@v3
56+
- uses: actions/checkout@v3
3457

35-
- name: Run tests
36-
run: cargo test --verbose --no-default-features
58+
- name: Run tests
59+
run: cargo test --verbose --no-default-features

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[package]
2-
name = "space-efficient-sumcheck"
2+
name = "efficient-sumcheck"
33
version = "0.0.2"
44
authors = ["arkworks maintainers"]
55
description = "TODO"

benches/provers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use criterion::{
33
criterion_group, criterion_main, measurement::WallTime, BatchSize, BenchmarkGroup, Criterion,
44
};
55

6-
use space_efficient_sumcheck::{
6+
use efficient_sumcheck::{
77
multilinear::TimeProver,
88
multilinear_product::TimeProductProver,
99
prover::{ProductProverConfig, Prover, ProverConfig},

src/hypercube/hypercube.rs renamed to src/hypercube/core.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
use crate::{hypercube::HypercubeMember, order_strategy::OrderStrategy};
22

3+
// mod hypercube;
4+
// mod hypercube_member;
5+
6+
// pub use hypercube::Hypercube;
7+
// pub use hypercube_member::HypercubeMember;
8+
39
// On each call to next() this gives a HypercubeMember for the value
410
#[derive(Debug)]
511
pub struct Hypercube<O: OrderStrategy> {

src/hypercube/hypercube_member.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// Basically this emulates a Vec<bool> as an iterator wrapped over a usize
21
#[derive(Clone, Debug, PartialEq)]
32
pub struct HypercubeMember {
43
bit_index: usize,
@@ -21,6 +20,12 @@ impl HypercubeMember {
2120
pub fn len(&self) -> usize {
2221
self.num_vars
2322
}
23+
pub fn is_empty(&self) -> bool {
24+
if self.bit_index == 0 {
25+
return true;
26+
}
27+
false
28+
}
2429
pub fn usize_from_vec_bool(vec: Vec<bool>) -> usize {
2530
vec.into_iter()
2631
.rev()
@@ -29,7 +34,7 @@ impl HypercubeMember {
2934
}
3035
pub fn elements_at_indices(b: Vec<bool>, indices: Vec<usize>) -> Vec<bool> {
3136
// checks
32-
if indices.len() == 0 {
37+
if indices.is_empty() {
3338
return vec![];
3439
}
3540
assert!(b.len() >= indices.len());
@@ -61,7 +66,7 @@ impl Iterator for HypercubeMember {
6166
return None;
6267
}
6368
// Return if value is bit high at bit_index
64-
self.bit_index = self.bit_index - 1;
69+
self.bit_index -= 1;
6570
let bit_mask = 1 << self.bit_index;
6671
Some(self.value & bit_mask != 0)
6772
}

src/hypercube/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
mod hypercube;
1+
mod core;
22
mod hypercube_member;
33

4-
pub use hypercube::Hypercube;
4+
pub use core::Hypercube;
55
pub use hypercube_member::HypercubeMember;

src/interpolation/lagrange_polynomial.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,16 @@ impl<'a, F: Field> Iterator for LagrangePolynomial<'a, F, GraycodeOrder> {
9595
let index_of_flipped_bit = bit_diff.trailing_zeros() as usize;
9696
let is_flipped_to_true = self.position & bit_diff != 0;
9797
let len = self.verifier_messages.messages.len();
98-
self.value = self.value
99-
* match is_flipped_to_true {
100-
true => {
101-
self.verifier_messages.message_and_message_hat_inverses
102-
[len - index_of_flipped_bit - 1]
103-
}
104-
false => {
105-
self.verifier_messages.message_hat_and_message_inverses
106-
[len - index_of_flipped_bit - 1]
107-
}
108-
};
98+
self.value *= match is_flipped_to_true {
99+
true => {
100+
self.verifier_messages.message_and_message_hat_inverses
101+
[len - index_of_flipped_bit - 1]
102+
}
103+
false => {
104+
self.verifier_messages.message_hat_and_message_inverses
105+
[len - index_of_flipped_bit - 1]
106+
}
107+
};
109108
}
110109

111110
// Step 5: increment positions

src/messages/verifier_messages.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ impl<F: Field> VerifierMessages<F> {
5858
self.messages_zeros_and_ones_usize << 1
5959
};
6060
} else {
61-
self.zero_ones_mask = self.zero_ones_mask << 1;
62-
self.messages_zeros_and_ones_usize = self.messages_zeros_and_ones_usize << 1;
63-
self.product_of_message_hats = self.product_of_message_hats * message_hat;
61+
self.zero_ones_mask <<= 1;
62+
self.messages_zeros_and_ones_usize <<= 1;
63+
self.product_of_message_hats *= message_hat;
6464
}
6565
}
6666
}

src/multilinear/provers/blendy/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ where
1313
pub stream: S,
1414
}
1515

16-
impl<'a, F, S> BlendyProverConfig<F, S>
16+
impl<F, S> BlendyProverConfig<F, S>
1717
where
1818
F: Field,
1919
S: Stream<F>,

src/multilinear/provers/blendy/blendy.rs renamed to src/multilinear/provers/blendy/core.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ where
2323
pub verifier_messages: VerifierMessages<F>,
2424
}
2525

26-
impl<'a, F, S> BlendyProver<F, S>
26+
impl<F, S> BlendyProver<F, S>
2727
where
2828
F: Field,
2929
S: Stream<F>,
3030
{
3131
fn shift_and_one_fill(num: usize, shift_amount: usize) -> usize {
32-
(num << shift_amount) | (1 << shift_amount) - 1
32+
(num << shift_amount) | ((1 << shift_amount) - 1)
3333
}
3434

3535
pub fn compute_round(&self, partial_sums: &[F]) -> (F, F) {
@@ -81,7 +81,7 @@ where
8181
}
8282

8383
pub fn is_start_of_stage(&self) -> bool {
84-
self.current_round % self.stage_size == 0
84+
self.current_round.is_multiple_of(self.stage_size)
8585
}
8686

8787
fn is_single_staged(&self) -> bool {

0 commit comments

Comments
 (0)