Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,22 @@ jobs:
test:
name: Benchmark library
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install Nargo
uses: noir-lang/[email protected]
with:
toolchain: nightly-2025-08-15
toolchain: 1.0.0-beta.12

- name: Install bb
run: |
curl -L https://bbup.aztec.network | bash
~/.bb/bbup -nv 1.0.0-beta.9
~/.bb/bbup -nv 1.0.0-beta.12
sudo apt install libc++-dev

- name: Build Noir benchmark programs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

env:
CARGO_TERM_COLOR: always
MINIMUM_NOIR_VERSION: nightly-2025-08-15
MINIMUM_NOIR_VERSION: 1.0.0-beta.12

jobs:
noir-version-list:
Expand Down
44 changes: 22 additions & 22 deletions src/curve_jac.nr
Original file line number Diff line number Diff line change
Expand Up @@ -669,15 +669,15 @@ where
) -> (Self, [AffineTranscript<B>; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3]) {
let mut (accumulator, transcript)
: (Self, [JTranscript<B>; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3]) =
CurveJ::msm_partial(points, scalars);
let op = accumulator.sub(CurveJ::offset_generator_final());
transcript[73 * Size + 252] = op.1;
accumulator = op.0;
let affine_transcript: [AffineTranscript<B>; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3] =
AffineTranscript::from_jacobian_transcript(transcript);
CurveJ::msm_partial(points, scalars);
let op = accumulator.sub(CurveJ::offset_generator_final());
transcript[73 * Size + 252] = op.1;
accumulator = op.0;
let affine_transcript: [AffineTranscript<B>; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3] =
AffineTranscript::from_jacobian_transcript(transcript);

(accumulator, affine_transcript)
}
(accumulator, affine_transcript)
}

pub(crate) unconstrained fn compute_linear_expression_transcript<let NScalarSlices: u32, let NMuls: u32, let NAdds: u32>(
mut mul_points: [Curve; NMuls],
Expand All @@ -695,21 +695,21 @@ where

let mut (accumulator, transcript)
: (Self, [JTranscript<B>; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3]) =
CurveJ::msm_partial(mul_j, scalars);
let mut transcript_ptr: u32 = NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 - 4;
for i in 0..NAdds {
let op = accumulator.conditional_incomplete_add(add_j[i], !add_j[i].is_infinity);
transcript[transcript_ptr] = op.1;
accumulator = op.0;
transcript_ptr += 1;
}

let op = accumulator.sub(CurveJ::offset_generator_final());
CurveJ::msm_partial(mul_j, scalars);
let mut transcript_ptr: u32 = NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 - 4;
for i in 0..NAdds {
let op = accumulator.conditional_incomplete_add(add_j[i], !add_j[i].is_infinity);
transcript[transcript_ptr] = op.1;
accumulator = op.0;
let affine_transcript: [AffineTranscript<B>; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3] =
AffineTranscript::from_jacobian_transcript(transcript);

(accumulator, affine_transcript)
transcript_ptr += 1;
}

let op = accumulator.sub(CurveJ::offset_generator_final());
transcript[transcript_ptr] = op.1;
accumulator = op.0;
let affine_transcript: [AffineTranscript<B>; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3] =
AffineTranscript::from_jacobian_transcript(transcript);

(accumulator, affine_transcript)
}
}
Loading