SYMBOL INDEX (914 symbols across 52 files) FILE: packages/Spartan-secq/benches/nizk.rs function nizk_prove_benchmark (line 16) | fn nizk_prove_benchmark(c: &mut Criterion) { function nizk_verify_benchmark (line 47) | fn nizk_verify_benchmark(c: &mut Criterion) { function set_duration (line 82) | fn set_duration() -> Criterion { FILE: packages/Spartan-secq/benches/snark.rs function snark_encode_benchmark (line 10) | fn snark_encode_benchmark(c: &mut Criterion) { function snark_prove_benchmark (line 35) | fn snark_prove_benchmark(c: &mut Criterion) { function snark_verify_benchmark (line 73) | fn snark_verify_benchmark(c: &mut Criterion) { function set_duration (line 121) | fn set_duration() -> Criterion { FILE: packages/Spartan-secq/examples/cubic.rs function produce_r1cs (line 19) | fn produce_r1cs() -> ( function main (line 111) | fn main() { FILE: packages/Spartan-secq/profiler/nizk.rs function print (line 13) | fn print(msg: &str) { function main (line 18) | pub fn main() { FILE: packages/Spartan-secq/profiler/snark.rs function print (line 12) | fn print(msg: &str) { function main (line 17) | pub fn main() { FILE: packages/Spartan-secq/src/bin/mont_params.rs function get_words (line 6) | fn get_words(n: &BigUint) -> [u64; 4] { function render_hex (line 15) | fn render_hex(label: String, words: &[u64; 4]) { function main (line 22) | fn main() { FILE: packages/Spartan-secq/src/commitments.rs type MultiCommitGens (line 9) | pub struct MultiCommitGens { method new (line 16) | pub fn new(n: usize, label: &[u8]) -> Self { method clone (line 36) | pub fn clone(&self) -> MultiCommitGens { method scale (line 44) | pub fn scale(&self, s: &Scalar) -> MultiCommitGens { method split_at (line 52) | pub fn split_at(&self, mid: usize) -> (MultiCommitGens, MultiCommitGen... type Commitments (line 70) | pub trait Commitments { method commit (line 71) | fn commit(&self, blind: &Scalar, gens_n: &MultiCommitGens) -> GroupEle... method commit (line 75) | fn commit(&self, blind: &Scalar, gens_n: &MultiCommitGens) -> GroupEle... method commit (line 85) | fn commit(&self, blind: &Scalar, gens_n: &MultiCommitGens) -> GroupEle... method commit (line 92) | fn commit(&self, blind: &Scalar, gens_n: &MultiCommitGens) -> GroupEle... FILE: packages/Spartan-secq/src/dense_mlpoly.rs type DensePolynomial (line 19) | pub struct DensePolynomial { method new (line 120) | pub fn new(Z: Vec) -> Self { method get_num_vars (line 128) | pub fn get_num_vars(&self) -> usize { method len (line 132) | pub fn len(&self) -> usize { method clone (line 136) | pub fn clone(&self) -> DensePolynomial { method split (line 140) | pub fn split(&self, idx: usize) -> (DensePolynomial, DensePolynomial) { method commit_inner (line 149) | fn commit_inner(&self, blinds: &[Scalar], gens: &MultiCommitGens) -> P... method commit_inner (line 165) | fn commit_inner(&self, blinds: &[Scalar], gens: &MultiCommitGens) -> P... method commit (line 179) | pub fn commit( method bound (line 206) | pub fn bound(&self, L: &[Scalar]) -> Vec { method bound_poly_var_top (line 215) | pub fn bound_poly_var_top(&mut self, r: &Scalar) { method bound_poly_var_bot (line 224) | pub fn bound_poly_var_bot(&mut self, r: &Scalar) { method evaluate (line 234) | pub fn evaluate(&self, r: &[Scalar]) -> Scalar { method vec (line 242) | fn vec(&self) -> &Vec { method extend (line 246) | pub fn extend(&mut self, other: &DensePolynomial) { method merge (line 257) | pub fn merge<'a, I>(polys: I) -> DensePolynomial method from_usize (line 272) | pub fn from_usize(Z: &[usize]) -> Self { type Output (line 282) | type Output = Scalar; method index (line 285) | fn index(&self, _index: usize) -> &Scalar { type PolyCommitmentGens (line 25) | pub struct PolyCommitmentGens { method new (line 31) | pub fn new(num_vars: usize, label: &'static [u8]) -> PolyCommitmentGens { type PolyCommitmentBlinds (line 38) | pub struct PolyCommitmentBlinds { type PolyCommitment (line 43) | pub struct PolyCommitment { type ConstPolyCommitment (line 48) | pub struct ConstPolyCommitment { type EqPolynomial (line 52) | pub struct EqPolynomial { method new (line 57) | pub fn new(r: Vec) -> Self { method evaluate (line 61) | pub fn evaluate(&self, rx: &[Scalar]) -> Scalar { method evals (line 68) | pub fn evals(&self) -> Vec { method compute_factored_lens (line 86) | pub fn compute_factored_lens(ell: usize) -> (usize, usize) { method compute_factored_evals (line 90) | pub fn compute_factored_evals(&self) -> (Vec, Vec) { type IdentityPolynomial (line 101) | pub struct IdentityPolynomial { method new (line 106) | pub fn new(size_point: usize) -> Self { method evaluate (line 110) | pub fn evaluate(&self, r: &[Scalar]) -> Scalar { method append_to_transcript (line 291) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut Tr... type PolyEvalProof (line 301) | pub struct PolyEvalProof { method protocol_name (line 306) | fn protocol_name() -> &'static [u8] { method prove (line 310) | pub fn prove( method verify (line 365) | pub fn verify( method verify_plain (line 389) | pub fn verify_plain( function evaluate_with_LR (line 410) | fn evaluate_with_LR(Z: &[Scalar], r: &[Scalar]) -> Scalar { function check_polynomial_evaluation (line 432) | fn check_polynomial_evaluation() { function compute_factored_chis_at_r (line 452) | pub fn compute_factored_chis_at_r(r: &[Scalar]) -> (Vec, Vec Vec { function compute_outerproduct (line 510) | pub fn compute_outerproduct(L: Vec, R: Vec) -> Vec Self { type R1CSError (line 19) | pub enum R1CSError { FILE: packages/Spartan-secq/src/group.rs type GroupElement (line 8) | pub type GroupElement = secq256k1::AffinePoint; method mul_assign (line 40) | fn mul_assign(&mut self, scalar: &'b Scalar) { type CompressedGroup (line 9) | pub type CompressedGroup = secq256k1::EncodedPoint; type CompressedGroupExt (line 10) | pub trait CompressedGroupExt { method unpack (line 12) | fn unpack(&self) -> Result; type Group (line 16) | type Group = secq256k1::AffinePoint; method unpack (line 17) | fn unpack(&self) -> Result { type DecompressEncodedPoint (line 29) | pub trait DecompressEncodedPoint { method decompress (line 30) | fn decompress(&self) -> Option; method decompress (line 34) | fn decompress(&self) -> Option { type Output (line 47) | type Output = GroupElement; function mul (line 48) | fn mul(self, scalar: &'b Scalar) -> GroupElement { type Output (line 54) | type Output = GroupElement; function mul (line 56) | fn mul(self, point: &'b GroupElement) -> GroupElement { type VartimeMultiscalarMul (line 100) | pub trait VartimeMultiscalarMul { method vartime_multiscalar_mul (line 102) | fn vartime_multiscalar_mul(scalars: Vec, points: Vec, points: Vec Result { method pad (line 91) | fn pad(&self, len: usize) -> VarsAssignment { type VarsAssignment (line 108) | pub type VarsAssignment = Assignment; type InputsAssignment (line 111) | pub type InputsAssignment = Assignment; type Instance (line 115) | pub struct Instance { method new (line 123) | pub fn new( method is_sat (line 232) | pub fn is_sat( method produce_synthetic_r1cs (line 264) | pub fn produce_synthetic_r1cs( type SNARKGens (line 280) | pub struct SNARKGens { method new (line 288) | pub fn new(num_cons: usize, num_vars: usize, num_inputs: usize, num_nz... type SNARK (line 314) | pub struct SNARK { method protocol_name (line 321) | fn protocol_name() -> &'static [u8] { method encode (line 326) | pub fn encode( method prove (line 340) | pub fn prove( method verify (line 424) | pub fn verify( type NIZKGens (line 469) | pub struct NIZKGens { method new (line 475) | pub fn new(num_cons: usize, num_vars: usize, num_inputs: usize) -> Self { type NIZK (line 491) | pub struct NIZK { method protocol_name (line 497) | fn protocol_name() -> &'static [u8] { method prove (line 502) | pub fn prove( method verify (line 550) | pub fn verify( function check_snark (line 595) | pub fn check_snark() { function check_r1cs_invalid_index (line 629) | pub fn check_r1cs_invalid_index() { function check_r1cs_invalid_scalar (line 649) | pub fn check_r1cs_invalid_scalar() { function test_padded_constraints (line 671) | fn test_padded_constraints() { FILE: packages/Spartan-secq/src/math.rs type Math (line 1) | pub trait Math { method square_root (line 2) | fn square_root(self) -> usize; method pow2 (line 3) | fn pow2(self) -> usize; method get_bits (line 4) | fn get_bits(self, num_bits: usize) -> Vec; method log_2 (line 5) | fn log_2(self) -> usize; method square_root (line 10) | fn square_root(self) -> usize { method pow2 (line 15) | fn pow2(self) -> usize { method get_bits (line 21) | fn get_bits(self, num_bits: usize) -> Vec { method log_2 (line 27) | fn log_2(self) -> usize { FILE: packages/Spartan-secq/src/nizk/bullet.rs type BulletReductionProof (line 17) | pub struct BulletReductionProof { method prove (line 33) | pub fn prove( method verification_scalars (line 155) | fn verification_scalars( method verify (line 209) | pub fn verify( function inner_product (line 257) | pub fn inner_product(a: &[Scalar], b: &[Scalar]) -> Scalar { FILE: packages/Spartan-secq/src/nizk/mod.rs type KnowledgeProof (line 17) | pub struct KnowledgeProof { method protocol_name (line 24) | fn protocol_name() -> &'static [u8] { method prove (line 28) | pub fn prove( method verify (line 55) | pub fn verify( type EqualityProof (line 79) | pub struct EqualityProof { method protocol_name (line 85) | fn protocol_name() -> &'static [u8] { method prove (line 89) | pub fn prove( method verify (line 119) | pub fn verify( type ProductProof (line 148) | pub struct ProductProof { method protocol_name (line 156) | fn protocol_name() -> &'static [u8] { method prove (line 160) | pub fn prove( method check_equality (line 232) | fn check_equality( method verify (line 246) | pub fn verify( type DotProductProof (line 294) | pub struct DotProductProof { method protocol_name (line 303) | fn protocol_name() -> &'static [u8] { method compute_dotproduct (line 307) | pub fn compute_dotproduct(a: &[Scalar], b: &[Scalar]) -> Scalar { method prove (line 312) | pub fn prove( method verify (line 373) | pub fn verify( type DotProductProofGens (line 408) | pub struct DotProductProofGens { method new (line 415) | pub fn new(n: usize, label: &[u8]) -> Self { type DotProductProofLog (line 422) | pub struct DotProductProofLog { method protocol_name (line 431) | fn protocol_name() -> &'static [u8] { method compute_dotproduct (line 435) | pub fn compute_dotproduct(a: &[Scalar], b: &[Scalar]) -> Scalar { method prove (line 440) | pub fn prove( method verify (line 526) | pub fn verify( function check_knowledgeproof (line 584) | fn check_knowledgeproof() { function check_equalityproof (line 604) | fn check_equalityproof() { function check_productproof (line 632) | fn check_productproof() { function check_dotproductproof (line 664) | fn check_dotproductproof() { function check_dotproductproof_log (line 703) | fn check_dotproductproof_log() { FILE: packages/Spartan-secq/src/product_tree.rs type ProductCircuit (line 12) | pub struct ProductCircuit { method compute_layer (line 18) | fn compute_layer( method new (line 36) | pub fn new(poly: &DensePolynomial) -> Self { method evaluate (line 58) | pub fn evaluate(&self) -> Scalar { type DotProductCircuit (line 66) | pub struct DotProductCircuit { method new (line 73) | pub fn new(left: DensePolynomial, right: DensePolynomial, weight: Dens... method evaluate (line 83) | pub fn evaluate(&self) -> Scalar { method split (line 89) | pub fn split(&mut self) -> (DotProductCircuit, DotProductCircuit) { type LayerProof (line 112) | pub struct LayerProof { method verify (line 119) | pub fn verify( type LayerProofBatched (line 135) | pub struct LayerProofBatched { method verify (line 143) | pub fn verify( type ProductCircuitEvalProof (line 158) | pub struct ProductCircuitEvalProof { method prove (line 170) | pub fn prove( method verify (line 220) | pub fn verify( type ProductCircuitEvalProofBatched (line 163) | pub struct ProductCircuitEvalProofBatched { method prove (line 259) | pub fn prove( method verify (line 385) | pub fn verify( FILE: packages/Spartan-secq/src/r1csinstance.rs type R1CSInstance (line 19) | pub struct R1CSInstance { method new (line 85) | pub fn new( method get_num_vars (line 137) | pub fn get_num_vars(&self) -> usize { method get_num_cons (line 141) | pub fn get_num_cons(&self) -> usize { method get_num_inputs (line 145) | pub fn get_num_inputs(&self) -> usize { method get_digest (line 149) | pub fn get_digest(&self) -> Vec { method produce_synthetic_r1cs (line 155) | pub fn produce_synthetic_r1cs( method is_sat (line 235) | pub fn is_sat(&self, vars: &[Scalar], input: &[Scalar]) -> bool { method multiply_vec (line 267) | pub fn multiply_vec( method compute_eval_table_sparse (line 283) | pub fn compute_eval_table_sparse( method evaluate (line 299) | pub fn evaluate(&self, rx: &[Scalar], ry: &[Scalar]) -> (Scalar, Scala... method commit (line 304) | pub fn commit(&self, gens: &R1CSCommitmentGens) -> (R1CSCommitment, R1... type R1CSCommitmentGens (line 28) | pub struct R1CSCommitmentGens { method new (line 33) | pub fn new( type R1CSCommitment (line 50) | pub struct R1CSCommitment { method get_num_cons (line 71) | pub fn get_num_cons(&self) -> usize { method get_num_vars (line 75) | pub fn get_num_vars(&self) -> usize { method get_num_inputs (line 79) | pub fn get_num_inputs(&self) -> usize { method append_to_transcript (line 58) | fn append_to_transcript(&self, _label: &'static [u8], transcript: &mut T... type R1CSDecommitment (line 66) | pub struct R1CSDecommitment { type R1CSEvalProof (line 320) | pub struct R1CSEvalProof { method prove (line 325) | pub fn prove( method verify (line 349) | pub fn verify( FILE: packages/Spartan-secq/src/r1csproof.rs type R1CSProof (line 23) | pub struct R1CSProof { method prove_phase_one (line 76) | fn prove_phase_one( method prove_phase_two (line 111) | fn prove_phase_two( method protocol_name (line 139) | fn protocol_name() -> &'static [u8] { method prove (line 143) | pub fn prove( method verify (line 350) | pub fn verify( type R1CSSumcheckGens (line 40) | pub struct R1CSSumcheckGens { method new (line 48) | pub fn new(label: &'static [u8], gens_1_ref: &MultiCommitGens) -> Self { type R1CSGens (line 61) | pub struct R1CSGens { method new (line 67) | pub fn new(label: &'static [u8], _num_cons: usize, num_vars: usize) ->... function produce_tiny_r1cs (line 503) | fn produce_tiny_r1cs() -> (R1CSInstance, Vec, Vec) { function test_tiny_r1cs (line 561) | fn test_tiny_r1cs() { function test_synthetic_r1cs (line 568) | fn test_synthetic_r1cs() { function check_r1cs_proof (line 575) | pub fn check_r1cs_proof() { FILE: packages/Spartan-secq/src/random.rs type RandomTape (line 5) | pub struct RandomTape { method new (line 10) | pub fn new(name: &'static [u8]) -> Self { method random_scalar (line 20) | pub fn random_scalar(&mut self, label: &'static [u8]) -> Scalar { method random_vector (line 24) | pub fn random_vector(&mut self, label: &'static [u8], len: usize) -> V... FILE: packages/Spartan-secq/src/scalar/mod.rs type Scalar (line 6) | pub type Scalar = scalar::Scalar; type ScalarBytes (line 7) | pub type ScalarBytes = secq256k1::Scalar; type ScalarFromPrimitives (line 9) | pub trait ScalarFromPrimitives { method to_scalar (line 10) | fn to_scalar(self) -> Scalar; method to_scalar (line 15) | fn to_scalar(self) -> Scalar { method to_scalar (line 22) | fn to_scalar(self) -> Scalar { type ScalarBytesFromScalar (line 31) | pub trait ScalarBytesFromScalar { method decompress_scalar (line 32) | fn decompress_scalar(s: &Scalar) -> ScalarBytes; method decompress_vector (line 33) | fn decompress_vector(s: &[Scalar]) -> Vec; method decompress_scalar (line 37) | fn decompress_scalar(s: &Scalar) -> ScalarBytes { method decompress_vector (line 41) | fn decompress_vector(s: &[Scalar]) -> Vec { FILE: packages/Spartan-secq/src/scalar/scalar.rs function adc (line 22) | pub const fn adc(a: u64, b: u64, carry: u64) -> (u64, u64) { function sbb (line 29) | pub const fn sbb(a: u64, b: u64, borrow: u64) -> (u64, u64) { function mac (line 36) | pub const fn mac(a: u64, b: u64, c: u64, carry: u64) -> (u64, u64) { type Scalar (line 201) | pub struct Scalar(pub(crate) [u64; 5]); method deserialize (line 247) | fn deserialize(deserializer: D) -> Result method fmt (line 256) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 267) | fn from(val: u64) -> Scalar { method product (line 399) | fn product(iter: I) -> Self method sum (line 411) | fn sum(iter: I) -> Self method zero (line 428) | pub const fn zero() -> Scalar { method one (line 434) | pub const fn one() -> Scalar { method random (line 438) | pub fn random(rng: &mut Rng) -> Self { method double (line 448) | pub const fn double(&self) -> Scalar { method from_bytes (line 455) | pub fn from_bytes(bytes: &[u8; 32]) -> CtOption { method to_bytes (line 483) | pub fn to_bytes(&self) -> [u8; 32] { method from_bytes_wide (line 501) | pub fn from_bytes_wide(bytes: &[u8; 64]) -> Scalar { method from_u512 (line 514) | fn from_u512(limbs: [u64; 8]) -> Scalar { method from_raw (line 536) | pub const fn from_raw(val: [u64; 4]) -> Self { method square (line 542) | pub const fn square(&self) -> Scalar { method pow (line 574) | pub fn pow(&self, by: &[u64; 4]) -> Self { method pow_vartime (line 593) | pub fn pow_vartime(&self, by: &[u64; 4]) -> Self { method invert (line 607) | pub fn invert(&self) -> CtOption { method batch_invert (line 628) | pub fn batch_invert(inputs: &mut [Scalar]) -> Scalar { method montgomery_reduce (line 678) | const fn montgomery_reduce( method mul (line 731) | pub const fn mul(&self, rhs: &Self) -> Self { method sub (line 769) | pub const fn sub(&self, rhs: &Self) -> Self { method add (line 789) | pub const fn add(&self, rhs: &Self) -> Self { method neg (line 803) | pub const fn neg(&self) -> Self { method serialize (line 207) | fn serialize(&self, serializer: S) -> Result std::fmt::... method visit_seq (line 228) | fn visit_seq(self, mut seq: A) -> Result method ct_eq (line 273) | fn ct_eq(&self, other: &Self) -> Choice { method eq (line 283) | fn eq(&self, other: &Self) -> bool { method conditional_select (line 289) | fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self { constant MODULUS (line 302) | const MODULUS: Scalar = Scalar([ type Output (line 311) | type Output = Scalar; method neg (line 314) | fn neg(self) -> Scalar { type Output (line 320) | type Output = Scalar; method neg (line 323) | fn neg(self) -> Scalar { type Output (line 329) | type Output = Scalar; function sub (line 332) | fn sub(self, rhs: &'b Scalar) -> Scalar { type Output (line 338) | type Output = Scalar; function add (line 341) | fn add(self, rhs: &'b Scalar) -> Scalar { type Output (line 347) | type Output = Scalar; function mul (line 350) | fn mul(self, rhs: &'b Scalar) -> Scalar { constant INV (line 359) | const INV: u64 = 0xd838091dd2253531; constant R (line 362) | const R: Scalar = Scalar([ constant R2 (line 371) | const R2: Scalar = Scalar([ constant R3 (line 380) | const R3: Scalar = Scalar([ method default (line 390) | fn default() -> Self { method zeroize (line 420) | fn zeroize(&mut self) { function from (line 823) | fn from(value: &'a Scalar) -> [u8; 32] { function test_inv (line 833) | fn test_inv() { function test_debug (line 849) | fn test_debug() { function test_equality (line 865) | fn test_equality() { function test_to_bytes (line 875) | fn test_to_bytes() { function test_from_bytes (line 912) | fn test_from_bytes() { function test_from_u512_zero (line 995) | fn test_from_u512_zero() { function test_from_u512_r (line 1012) | fn test_from_u512_r() { function test_from_u512_r2 (line 1017) | fn test_from_u512_r2() { function test_from_u512_max (line 1022) | fn test_from_u512_max() { function test_from_bytes_wide_r2 (line 1031) | fn test_from_bytes_wide_r2() { function test_from_bytes_wide_negative_one (line 1043) | fn test_from_bytes_wide_negative_one() { function test_from_bytes_wide_maximum (line 1055) | fn test_from_bytes_wide_maximum() { function test_zero (line 1063) | fn test_zero() { constant LARGEST (line 1070) | const LARGEST: Scalar = Scalar([ function test_addition (line 1079) | fn test_addition() { function test_negation (line 1100) | fn test_negation() { function test_subtraction (line 1112) | fn test_subtraction() { function test_multiplication (line 1128) | fn test_multiplication() { function test_squaring (line 1157) | fn test_squaring() { function test_inversion (line 1186) | fn test_inversion() { function test_invert_is_pow (line 1209) | fn test_invert_is_pow() { function test_from_raw (line 1236) | fn test_from_raw() { function test_double (line 1256) | fn test_double() { FILE: packages/Spartan-secq/src/sparse_mlpoly.rs type SparseMatEntry (line 20) | pub struct SparseMatEntry { method new (line 27) | pub fn new(row: usize, col: usize, val: Scalar) -> Self { type SparseMatPolynomial (line 33) | pub struct SparseMatPolynomial { method new (line 345) | pub fn new(num_vars_x: usize, num_vars_y: usize, M: Vec usize { method sparse_to_dense_vecs (line 357) | fn sparse_to_dense_vecs(&self, N: usize) -> (Vec, Vec, V... method multi_sparse_to_dense_rep (line 371) | fn multi_sparse_to_dense_rep( method evaluate_with_tables (line 430) | fn evaluate_with_tables(&self, eval_table_rx: &[Scalar], eval_table_ry... method multi_evaluate (line 444) | pub fn multi_evaluate( method multiply_vec (line 457) | pub fn multiply_vec(&self, num_rows: usize, num_cols: usize, z: &[Scal... method compute_eval_table_sparse (line 473) | pub fn compute_eval_table_sparse( method multi_commit (line 490) | pub fn multi_commit( type Derefs (line 39) | pub struct Derefs { method new (line 51) | pub fn new(row_ops_val: Vec, col_ops_val: Vec DerefsCommitment { type DerefsCommitment (line 46) | pub struct DerefsCommitment { type DerefsEvalProof (line 75) | pub struct DerefsEvalProof { method protocol_name (line 80) | fn protocol_name() -> &'static [u8] { method prove_single (line 84) | fn prove_single( method prove (line 130) | pub fn prove( method verify_single (line 153) | fn verify_single( method verify (line 183) | pub fn verify( method append_to_transcript (line 209) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut Tr... type AddrTimestamps (line 216) | struct AddrTimestamps { method new (line 224) | pub fn new(num_cells: usize, num_ops: usize, ops_addr: Vec>... method deref_mem (line 259) | fn deref_mem(addr: &[usize], mem_val: &[Scalar]) -> DensePolynomial { method deref (line 270) | pub fn deref(&self, mem_val: &[Scalar]) -> Vec { type MultiSparseMatPolynomialAsDense (line 277) | pub struct MultiSparseMatPolynomialAsDense { method deref (line 514) | pub fn deref(&self, row_mem_val: &[Scalar], col_mem_val: &[Scalar]) ->... type SparseMatPolyCommitmentGens (line 286) | pub struct SparseMatPolyCommitmentGens { method new (line 293) | pub fn new( type SparseMatPolyCommitment (line 322) | pub struct SparseMatPolyCommitment { method append_to_transcript (line 331) | fn append_to_transcript(&self, _label: &'static [u8], transcript: &mut T... type ProductLayer (line 523) | struct ProductLayer { type Layers (line 531) | struct Layers { method build_hash_layer (line 536) | fn build_hash_layer( method new (line 613) | pub fn new( type PolyEvalNetwork (line 664) | struct PolyEvalNetwork { method new (line 670) | pub fn new( type HashLayerProof (line 688) | struct HashLayerProof { method protocol_name (line 699) | fn protocol_name() -> &'static [u8] { method prove_helper (line 703) | fn prove_helper( method prove (line 729) | fn prove( method verify_helper (line 840) | fn verify_helper( method verify (line 891) | fn verify( type ProductLayerProof (line 1025) | struct ProductLayerProof { method protocol_name (line 1034) | fn protocol_name() -> &'static [u8] { method prove (line 1038) | pub fn prove( method verify (line 1218) | pub fn verify( type PolyEvalNetworkProof (line 1315) | struct PolyEvalNetworkProof { method protocol_name (line 1321) | fn protocol_name() -> &'static [u8] { method prove (line 1325) | pub fn prove( method verify (line 1361) | pub fn verify( type SparseMatPolyEvalProof (line 1426) | pub struct SparseMatPolyEvalProof { method protocol_name (line 1432) | fn protocol_name() -> &'static [u8] { method equalize (line 1436) | fn equalize(rx: &[Scalar], ry: &[Scalar]) -> (Vec, Vec) { method prove (line 1454) | pub fn prove( method verify (line 1523) | pub fn verify( type SparsePolyEntry (line 1562) | pub struct SparsePolyEntry { method new (line 1568) | pub fn new(idx: usize, val: Scalar) -> Self { type SparsePolynomial (line 1573) | pub struct SparsePolynomial { method new (line 1579) | pub fn new(num_vars: usize, Z: Vec) -> Self { method compute_chi (line 1583) | fn compute_chi(a: &[bool], r: &[Scalar]) -> Scalar { method evaluate (line 1597) | pub fn evaluate(&self, r: &[Scalar]) -> Scalar { function check_sparse_polyeval_proof (line 1614) | fn check_sparse_polyeval_proof() { FILE: packages/Spartan-secq/src/sumcheck.rs type SumcheckInstanceProof (line 19) | pub struct SumcheckInstanceProof { method new (line 24) | pub fn new(compressed_polys: Vec) -> SumcheckInstan... method verify (line 28) | pub fn verify( method prove_cubic (line 184) | pub fn prove_cubic( method prove_cubic_batched (line 255) | pub fn prove_cubic_batched( type ZKSumcheckInstanceProof (line 66) | pub struct ZKSumcheckInstanceProof { method new (line 73) | pub fn new( method verify (line 85) | pub fn verify( method prove_quad (line 429) | pub fn prove_quad( method prove_cubic_with_additive_term (line 589) | pub fn prove_cubic_with_additive_term( FILE: packages/Spartan-secq/src/timer.rs type Timer (line 14) | pub struct Timer { method new (line 22) | pub fn new(label: &str) -> Self { method stop (line 40) | pub fn stop(&self) { method print (line 55) | pub fn print(msg: &str) { method new (line 77) | pub fn new(label: &str) -> Self { method stop (line 84) | pub fn stop(&self) {} method print (line 87) | pub fn print(_msg: &str) {} type Timer (line 70) | pub struct Timer { method new (line 22) | pub fn new(label: &str) -> Self { method stop (line 40) | pub fn stop(&self) { method print (line 55) | pub fn print(msg: &str) { method new (line 77) | pub fn new(label: &str) -> Self { method stop (line 84) | pub fn stop(&self) {} method print (line 87) | pub fn print(_msg: &str) {} FILE: packages/Spartan-secq/src/transcript.rs type ProofTranscript (line 5) | pub trait ProofTranscript { method append_protocol_name (line 6) | fn append_protocol_name(&mut self, protocol_name: &'static [u8]); method append_scalar (line 7) | fn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar); method append_point (line 8) | fn append_point(&mut self, label: &'static [u8], point: &CompressedGro... method challenge_scalar (line 9) | fn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar; method challenge_vector (line 10) | fn challenge_vector(&mut self, label: &'static [u8], len: usize) -> Ve... method append_protocol_name (line 14) | fn append_protocol_name(&mut self, protocol_name: &'static [u8]) { method append_scalar (line 18) | fn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar) { method append_point (line 22) | fn append_point(&mut self, label: &'static [u8], point: &CompressedGro... method challenge_scalar (line 26) | fn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar { method challenge_vector (line 32) | fn challenge_vector(&mut self, label: &'static [u8], len: usize) -> Ve... type AppendToTranscript (line 39) | pub trait AppendToTranscript { method append_to_transcript (line 40) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut ... method append_to_transcript (line 44) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut ... method append_to_transcript (line 50) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut ... method append_to_transcript (line 60) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut ... FILE: packages/Spartan-secq/src/unipoly.rs type UniPoly (line 11) | pub struct UniPoly { method from_evals (line 23) | pub fn from_evals(evals: &[Scalar]) -> Self { method degree (line 56) | pub fn degree(&self) -> usize { method as_vec (line 60) | pub fn as_vec(&self) -> Vec { method eval_at_zero (line 64) | pub fn eval_at_zero(&self) -> Scalar { method eval_at_one (line 68) | pub fn eval_at_one(&self) -> Scalar { method evaluate (line 72) | pub fn evaluate(&self, r: &Scalar) -> Scalar { method compress (line 82) | pub fn compress(&self) -> CompressedUniPoly { method commit (line 90) | pub fn commit(&self, gens: &MultiCommitGens, blind: &Scalar) -> GroupE... type CompressedUniPoly (line 18) | pub struct CompressedUniPoly { method decompress (line 98) | pub fn decompress(&self, hint: &Scalar) -> UniPoly { method append_to_transcript (line 113) | fn append_to_transcript(&self, label: &'static [u8], transcript: &mut Tr... function test_from_evals_quad (line 128) | fn test_from_evals_quad() { function test_from_evals_cubic (line 155) | fn test_from_evals_cubic() { FILE: packages/benchmark/web/next.config.js method headers (line 11) | async headers() { FILE: packages/benchmark/web/pages/_app.tsx function App (line 3) | function App({ Component, pageProps }: AppProps) { FILE: packages/benchmark/web/pages/index.tsx function Home (line 21) | function Home() { FILE: packages/circuit_reader/src/bin/gen_spartan_inst.rs function main (line 8) | fn main() { FILE: packages/circuit_reader/src/circom_reader.rs type Constraint (line 11) | pub type Constraint = (Vec<(usize, Fr)>, Vec<(usize, Fr)>, Vec<(usiz... type R1CS (line 14) | pub struct R1CS { type Header (line 23) | pub struct Header { type R1CSFile (line 36) | pub struct R1CSFile { function load_r1cs_from_bin_file (line 45) | pub fn load_r1cs_from_bin_file(filename: &Path) -> (R1CS(reader: R) -> (R1CS... function read_field (line 69) | pub(crate) fn read_field(mut reader: R) -> Resu... function read_header (line 79) | fn read_header(mut reader: R, size: u64) -> Result
{ function read_constraint_vec (line 102) | fn read_constraint_vec(mut reader: R) -> Result... function read_constraints (line 114) | fn read_constraints( function read_map (line 130) | fn read_map(mut reader: R, size: u64, header: &Header) -> Resul... function from_reader (line 150) | pub fn from_reader(mut reader: R) -> Result>( FILE: packages/lib/src/core/prover.ts class MembershipProver (line 18) | class MembershipProver extends Profiler implements IProver { method constructor (line 23) | constructor({ method initWasm (line 51) | async initWasm() { method prove (line 55) | async prove({ sig, msgHash, merkleProof }: ProveArgs): Promise { FILE: packages/lib/src/core/verifier.ts class MembershipVerifier (line 14) | class MembershipVerifier extends Profiler implements IVerifier { method constructor (line 18) | constructor({ method initWasm (line 42) | async initWasm() { method verify (line 46) | async verify({ proof, publicInputSer }: VerifyArgs): Promise { FILE: packages/lib/src/helpers/poseidon.ts class Poseidon (line 4) | class Poseidon { method hash (line 5) | hash(inputs: bigint[]): bigint { method initWasm (line 15) | async initWasm() { method hashPubKey (line 19) | hashPubKey(pubKey: Buffer): bigint { FILE: packages/lib/src/helpers/profiler.ts class Profiler (line 2) | class Profiler { method constructor (line 5) | constructor(options: { enabled?: boolean }) { method time (line 9) | time(label: string) { method timeEnd (line 13) | timeEnd(label: string) { FILE: packages/lib/src/helpers/publicInputs.ts constant SECP256K1_N (line 9) | const SECP256K1_N = new BN( class CircuitPubInput (line 19) | class CircuitPubInput { method constructor (line 26) | constructor( method serialize (line 40) | serialize(): Uint8Array { method deserialize (line 52) | static deserialize(serialized: Uint8Array): CircuitPubInput { class PublicInput (line 66) | class PublicInput { method constructor (line 72) | constructor( method serialize (line 84) | serialize(): Uint8Array { method deserialize (line 98) | static deserialize(serialized: Uint8Array): PublicInput { FILE: packages/lib/src/helpers/tree.ts class Tree (line 5) | class Tree { method constructor (line 10) | constructor(depth: number, poseidon: Poseidon) { method insert (line 18) | insert(leaf: bigint) { method delete (line 22) | delete(index: number) { method leaves (line 26) | leaves(): bigint[] { method root (line 30) | root(): bigint { method indexOf (line 34) | indexOf(leaf: bigint): number { method createProof (line 38) | createProof(index: number): MerkleProof { method verifyProof (line 47) | verifyProof(proof: MerkleProof, leaf: bigint): boolean { FILE: packages/lib/src/types/index.ts type MerkleProof (line 6) | interface MerkleProof { type EffECDSAPubInput (line 11) | interface EffECDSAPubInput { type NIZK (line 18) | interface NIZK { type ProverConfig (line 23) | interface ProverConfig { type ProveArgs (line 30) | interface ProveArgs { type VerifyArgs (line 36) | interface VerifyArgs { type VerifyConfig (line 41) | interface VerifyConfig { type IProver (line 47) | interface IProver { type IVerifier (line 54) | interface IVerifier { FILE: packages/lib/src/wasm/wasm.d.ts type InitInput (line 26) | type InitInput = RequestInfo | URL | Response | BufferSource | WebAssemb... type InitOutput (line 28) | interface InitOutput { type SyncInitInput (line 41) | type SyncInitInput = BufferSource | WebAssembly.Module; FILE: packages/lib/src/wasm/wasm.js function getObject (line 7) | function getObject(idx) { return heap[idx]; } function dropObject (line 11) | function dropObject(idx) { function takeObject (line 17) | function takeObject(idx) { function getUint8Memory0 (line 29) | function getUint8Memory0() { function getStringFromWasm0 (line 36) | function getStringFromWasm0(ptr, len) { function addHeapObject (line 41) | function addHeapObject(obj) { function init_panic_hook (line 51) | function init_panic_hook() { constant WASM_VECTOR_LEN (line 55) | let WASM_VECTOR_LEN = 0; function passArray8ToWasm0 (line 57) | function passArray8ToWasm0(arg, malloc) { function getInt32Memory0 (line 66) | function getInt32Memory0() { function getArrayU8FromWasm0 (line 73) | function getArrayU8FromWasm0(ptr, len) { function prove (line 83) | function prove(circuit, vars, public_inputs) { function verify (line 114) | function verify(circuit, proof, public_input) { function poseidon (line 140) | function poseidon(input_bytes) { function handleError (line 161) | function handleError(f, args) { function passStringToWasm0 (line 184) | function passStringToWasm0(arg, malloc, realloc) { function __wbg_load (line 222) | async function __wbg_load(module, imports) { function __wbg_get_imports (line 253) | function __wbg_get_imports() { function __wbg_init_memory (line 398) | function __wbg_init_memory(imports, maybe_memory) { function __wbg_finalize_init (line 402) | function __wbg_finalize_init(instance, module) { function initSync (line 412) | async function initSync(module, maybe_memory) { function __wbg_init (line 432) | async function __wbg_init(input, maybe_memory) { FILE: packages/poseidon/src/k256_consts.rs constant NUM_FULL_ROUNDS (line 5) | pub(crate) const NUM_FULL_ROUNDS: usize = 8; constant NUM_PARTIAL_ROUNDS (line 6) | pub(crate) const NUM_PARTIAL_ROUNDS: usize = 56; FILE: packages/poseidon/src/lib.rs type PoseidonConstants (line 6) | pub struct PoseidonConstants { function new (line 14) | pub fn new( type Poseidon (line 29) | pub struct Poseidon { function new (line 36) | pub fn new(constants: PoseidonConstants) -> Self { function hash (line 45) | pub fn hash(&mut self, input: &[F; 2]) -> F { function add_constants (line 72) | fn add_constants(&mut self) { function matrix_mul (line 80) | fn matrix_mul(&mut self) { function full_round (line 94) | fn full_round(&mut self) { function partial_round (line 109) | fn partial_round(&mut self) { function test_k256 (line 129) | fn test_k256() { FILE: packages/poseidon/src/poseidon_k256.rs function hash (line 6) | pub fn hash(input: &[FieldElement; 2]) -> FieldElement { FILE: packages/secq256k1/src/affine.rs type AffinePointCore (line 15) | pub type AffinePointCore = primeorder::AffinePoint; type AffinePoint (line 18) | pub struct AffinePoint(pub AffinePointCore); type Output (line 21) | type Output = AffinePoint; method mul (line 23) | fn mul(self, rhs: Scalar) -> Self::Output { type Output (line 37) | type Output = AffinePoint; method mul (line 39) | fn mul(self, rhs: &Scalar) -> Self::Output { method mul_assign (line 45) | fn mul_assign(&mut self, rhs: &Scalar) { method mul_assign (line 51) | fn mul_assign(&mut self, rhs: Scalar) { type Output (line 57) | type Output = AffinePoint; method add (line 59) | fn add(self, rhs: AffinePoint) -> Self::Output { method add_assign (line 65) | fn add_assign(&mut self, rhs: AffinePoint) { type Output (line 71) | type Output = AffinePoint; method sub (line 73) | fn sub(self, rhs: AffinePoint) -> Self::Output { method sub_assign (line 79) | fn sub_assign(&mut self, rhs: AffinePoint) { method identity (line 87) | pub const fn identity() -> Self { method generator (line 91) | pub const fn generator() -> Self { method iso_a (line 97) | pub const fn iso_a() -> FieldElement { method iso_b (line 108) | pub const fn iso_b() -> FieldElement { method iso_z (line 113) | pub const fn iso_z() -> FieldElement { method iso_constants (line 124) | pub const fn iso_constants() -> [FieldElement; 13] { method compress (line 207) | pub fn compress(&self) -> EncodedPoint { method decompress (line 211) | pub fn decompress(bytes: EncodedPoint) -> CtOption { method from_uniform_bytes (line 215) | pub fn from_uniform_bytes(bytes: &[u8; 128]) -> Self { method from (line 246) | fn from(p: ProjectivePoint) -> Self { type Output (line 260) | type Output = AffinePoint; method add (line 262) | fn add(self, rhs: &AffinePoint) -> Self::Output { method add_assign (line 268) | fn add_assign(&mut self, rhs: &AffinePoint) { type Output (line 274) | type Output = AffinePoint; method sub (line 276) | fn sub(self, rhs: &AffinePoint) -> Self::Output { method sub_assign (line 282) | fn sub_assign(&mut self, rhs: &AffinePoint) { method sum (line 294) | fn sum>(iter: I) -> Self { type Output (line 29) | type Output = AffinePoint; function mul (line 31) | fn mul(self, rhs: Scalar) -> Self::Output { type Output (line 252) | type Output = AffinePoint; method neg (line 254) | fn neg(self) -> Self::Output { method sum (line 288) | fn sum>(iter: I) -> Self { type Scalar (line 300) | type Scalar = Scalar; method random (line 302) | fn random(rng: impl rand_core::RngCore) -> Self { method generator (line 306) | fn generator() -> Self { method identity (line 310) | fn identity() -> Self { method is_identity (line 314) | fn is_identity(&self) -> Choice { method double (line 318) | fn double(&self) -> Self { function test_from_uniform_bytes (line 328) | fn test_from_uniform_bytes() { FILE: packages/secq256k1/src/field/field_secp.rs function adc (line 26) | pub const fn adc(a: u64, b: u64, carry: u64) -> (u64, u64) { function sbb (line 33) | pub const fn sbb(a: u64, b: u64, borrow: u64) -> (u64, u64) { function mac (line 40) | pub const fn mac(a: u64, b: u64, c: u64, carry: u64) -> (u64, u64) { type FieldElement (line 205) | pub struct FieldElement(pub(crate) [u64; 5]); method deserialize (line 324) | fn deserialize(deserializer: D) -> Result method fmt (line 333) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 344) | fn from(val: u64) -> FieldElement { method product (line 581) | fn product(iter: I) -> Self method sum (line 593) | fn sum(iter: I) -> Self constant ZERO (line 608) | pub const ZERO: Self = Self([0, 0, 0, 0, 0]); constant ONE (line 609) | pub const ONE: Self = R; method pow2k (line 611) | fn pow2k(&self, k: usize) -> Self { method zero (line 621) | pub const fn zero() -> FieldElement { method one (line 627) | pub const fn one() -> FieldElement { method random (line 631) | pub fn random(rng: &mut Rng) -> Self { method double (line 641) | pub const fn double(&self) -> FieldElement { method from_bytes_wide (line 648) | pub fn from_bytes_wide(bytes: &[u8; 64]) -> FieldElement { method from_u512 (line 661) | fn from_u512(limbs: [u64; 8]) -> FieldElement { method from_raw (line 683) | pub const fn from_raw(val: [u64; 4]) -> Self { method square (line 689) | pub const fn square(&self) -> FieldElement { method pow (line 721) | pub fn pow(&self, by: &[u64; 4]) -> Self { method pow_by_self (line 734) | pub fn pow_by_self(&self, exp: &Self) -> Self { method pow_vartime (line 752) | pub fn pow_vartime(&self, by: &[u64; 4]) -> Self { method invert (line 766) | pub fn invert(&self) -> CtOption { method batch_invert (line 787) | pub fn batch_invert(inputs: &mut [FieldElement]) -> FieldElement { method montgomery_reduce (line 837) | const fn montgomery_reduce( method mul (line 890) | pub const fn mul(&self, rhs: &Self) -> Self { method sub (line 928) | pub const fn sub(&self, rhs: &Self) -> Self { method add (line 948) | pub const fn add(&self, rhs: &Self) -> Self { method neg (line 962) | pub const fn neg(&self) -> Self { method from_sec1 (line 1056) | pub fn from_sec1(bytes: FieldBytes) -> CtOption { method to_sec1 (line 1064) | pub fn to_sec1(self) -> FieldBytes { constant C1 (line 216) | const C1: u64 = 1; constant C3 (line 219) | const C3: Self = FieldElement([ constant C4 (line 227) | const C4: Self = Self::ONE; constant C5 (line 228) | const C5: Self = Self::ONE; constant C6 (line 231) | const C6: Self = FieldElement([ constant C7 (line 240) | const C7: Self = FieldElement([ method sqrt_ratio (line 248) | fn sqrt_ratio(u: &Self, v: &Self) -> (Choice, Self) { method serialize (line 285) | fn serialize(&self, serializer: S) -> Result std::fmt::... method visit_seq (line 305) | fn visit_seq(self, mut seq: A) -> Result method random (line 350) | fn random(mut rng: impl RngCore) -> Self { method zero (line 361) | fn zero() -> Self { method one (line 365) | fn one() -> Self { method is_zero (line 369) | fn is_zero(&self) -> Choice { method square (line 373) | fn square(&self) -> Self { method double (line 377) | fn double(&self) -> Self { method sqrt (line 381) | fn sqrt(&self) -> CtOption { method is_zero_vartime (line 401) | fn is_zero_vartime(&self) -> bool { method cube (line 405) | fn cube(&self) -> Self { method invert (line 409) | fn invert(&self) -> CtOption { type Repr (line 415) | type Repr = FieldBytes; constant NUM_BITS (line 417) | const NUM_BITS: u32 = 256; constant CAPACITY (line 418) | const CAPACITY: u32 = 255; constant S (line 419) | const S: u32 = 1; method from_repr (line 421) | fn from_repr(bytes: FieldBytes) -> CtOption { method to_repr (line 425) | fn to_repr(&self) -> FieldBytes { method is_odd (line 429) | fn is_odd(&self) -> Choice { method multiplicative_generator (line 437) | fn multiplicative_generator() -> Self { method root_of_unity (line 441) | fn root_of_unity() -> Self { method ct_eq (line 452) | fn ct_eq(&self, other: &Self) -> Choice { method eq (line 462) | fn eq(&self, other: &Self) -> bool { method conditional_select (line 468) | fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self { constant MODULUS (line 481) | const MODULUS: FieldElement = FieldElement([ type Output (line 490) | type Output = FieldElement; method neg (line 493) | fn neg(self) -> FieldElement { type Output (line 499) | type Output = FieldElement; method neg (line 502) | fn neg(self) -> FieldElement { type Output (line 508) | type Output = FieldElement; function sub (line 511) | fn sub(self, rhs: &'b FieldElement) -> FieldElement { type Output (line 517) | type Output = FieldElement; function add (line 520) | fn add(self, rhs: &'b FieldElement) -> FieldElement { type Output (line 526) | type Output = FieldElement; function mul (line 529) | fn mul(self, rhs: &'b FieldElement) -> FieldElement { constant INV (line 538) | const INV: u64 = 0xd838091dd2253531; constant R (line 542) | const R: FieldElement = FieldElement([ constant R2 (line 552) | const R2: FieldElement = FieldElement([ constant R3 (line 562) | const R3: FieldElement = FieldElement([ method default (line 572) | fn default() -> Self { method zeroize (line 602) | fn zeroize(&mut self) { method to_bytes (line 984) | fn to_bytes(&self) -> [u8; 32] { method to_be_bytes (line 1002) | fn to_be_bytes(&self) -> [u8; 32] { method from_bytes (line 1018) | fn from_bytes(bytes: &[u8; 32]) -> CtOption { function from (line 1046) | fn from(value: &'a FieldElement) -> [u8; 32] { function test_inv (line 1074) | fn test_inv() { function test_debug (line 1090) | fn test_debug() { function test_equality (line 1106) | fn test_equality() { function test_to_bytes (line 1116) | fn test_to_bytes() { function test_from_bytes (line 1135) | fn test_from_bytes() { function test_from_u512_zero (line 1156) | fn test_from_u512_zero() { function test_from_u512_r (line 1173) | fn test_from_u512_r() { function test_from_u512_r2 (line 1178) | fn test_from_u512_r2() { function test_from_u512_max (line 1183) | fn test_from_u512_max() { function test_from_bytes_wide_r2 (line 1194) | fn test_from_bytes_wide_r2() { function test_from_bytes_wide_negative_one (line 1206) | fn test_from_bytes_wide_negative_one() { function test_zero (line 1220) | fn test_zero() { constant LARGEST (line 1236) | const LARGEST: FieldElement = FieldElement([ function test_addition (line 1245) | fn test_addition() { function test_negation (line 1266) | fn test_negation() { function test_subtraction (line 1278) | fn test_subtraction() { function test_multiplication (line 1294) | fn test_multiplication() { function test_squaring (line 1323) | fn test_squaring() { function test_inversion (line 1363) | fn test_inversion() { function test_invert_is_pow (line 1388) | fn test_invert_is_pow() { function test_from_raw (line 1415) | fn test_from_raw() { function test_double (line 1435) | fn test_double() { FILE: packages/secq256k1/src/field/field_secq.rs function adc (line 25) | pub const fn adc(a: u64, b: u64, carry: u64) -> (u64, u64) { function sbb (line 32) | pub const fn sbb(a: u64, b: u64, borrow: u64) -> (u64, u64) { function mac (line 39) | pub const fn mac(a: u64, b: u64, c: u64, carry: u64) -> (u64, u64) { type FieldElement (line 204) | pub struct FieldElement(pub(crate) [u64; 5]); method deserialize (line 388) | fn deserialize(deserializer: D) -> Result method fmt (line 397) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 408) | fn from(val: u64) -> FieldElement { method product (line 632) | fn product(iter: I) -> Self method sum (line 644) | fn sum(iter: I) -> Self constant ZERO (line 659) | pub const ZERO: Self = Self([0, 0, 0, 0, 0]); constant ONE (line 660) | pub const ONE: Self = R; method pow2k (line 662) | fn pow2k(&self, k: usize) -> Self { method zero (line 672) | pub const fn zero() -> FieldElement { method one (line 678) | pub const fn one() -> FieldElement { method random (line 682) | pub fn random(rng: &mut Rng) -> Self { method double (line 692) | pub const fn double(&self) -> FieldElement { method from_bytes_wide (line 699) | pub fn from_bytes_wide(bytes: &[u8; 64]) -> FieldElement { method from_u512 (line 712) | fn from_u512(limbs: [u64; 8]) -> FieldElement { method from_raw (line 734) | pub const fn from_raw(val: [u64; 4]) -> Self { method square (line 740) | pub const fn square(&self) -> FieldElement { method pow_by_self (line 770) | pub fn pow_by_self(&self, exp: &Self) -> Self { method pow (line 784) | pub fn pow(&self, by: &[u64; 4]) -> Self { method invert (line 797) | pub fn invert(&self) -> CtOption { method batch_invert (line 847) | pub fn batch_invert(inputs: &mut [FieldElement]) -> FieldElement { method montgomery_reduce (line 897) | const fn montgomery_reduce( method mul (line 950) | pub const fn mul(&self, rhs: &Self) -> Self { method sub (line 988) | pub const fn sub(&self, rhs: &Self) -> Self { method add (line 1008) | pub const fn add(&self, rhs: &Self) -> Self { method neg (line 1022) | pub const fn neg(&self) -> Self { method from_sec1 (line 1052) | pub fn from_sec1(bytes: FieldBytes) -> CtOption { method to_sec1 (line 1060) | pub fn to_sec1(self) -> FieldBytes { constant C1 (line 213) | const C1: u64 = 6; constant C3 (line 216) | const C3: Self = FieldElement([ constant C4 (line 224) | const C4: Self = FieldElement([14644223128245760257, 1078510108991852875... constant C5 (line 225) | const C5: Self = FieldElement([411004481505318880, 12260033118033672328,... constant C6 (line 228) | const C6: Self = FieldElement([ constant C7 (line 237) | const C7: Self = FieldElement([ method sqrt_ratio (line 246) | fn sqrt_ratio(u: &Self, v: &Self) -> (Choice, Self) { method from_bytes (line 285) | fn from_bytes(bytes: &[u8; 32]) -> CtOption { method to_bytes (line 313) | fn to_bytes(&self) -> [u8; 32] { method to_be_bytes (line 331) | fn to_be_bytes(&self) -> [u8; 32] { method serialize (line 349) | fn serialize(&self, serializer: S) -> Result std::fmt::... method visit_seq (line 369) | fn visit_seq(self, mut seq: A) -> Result method random (line 414) | fn random(mut rng: impl RngCore) -> Self { method zero (line 425) | fn zero() -> Self { method one (line 429) | fn one() -> Self { method is_zero (line 433) | fn is_zero(&self) -> Choice { method square (line 437) | fn square(&self) -> Self { method double (line 441) | fn double(&self) -> Self { method sqrt (line 445) | fn sqrt(&self) -> CtOption { method is_zero_vartime (line 452) | fn is_zero_vartime(&self) -> bool { method cube (line 456) | fn cube(&self) -> Self { method invert (line 460) | fn invert(&self) -> CtOption { type Repr (line 466) | type Repr = FieldBytes; constant NUM_BITS (line 468) | const NUM_BITS: u32 = 256; constant CAPACITY (line 469) | const CAPACITY: u32 = 255; constant S (line 470) | const S: u32 = 1; method from_repr (line 472) | fn from_repr(bytes: FieldBytes) -> CtOption { method to_repr (line 476) | fn to_repr(&self) -> FieldBytes { method is_odd (line 480) | fn is_odd(&self) -> Choice { method multiplicative_generator (line 488) | fn multiplicative_generator() -> Self { method root_of_unity (line 492) | fn root_of_unity() -> Self { method ct_eq (line 503) | fn ct_eq(&self, other: &Self) -> Choice { method eq (line 513) | fn eq(&self, other: &Self) -> bool { method conditional_select (line 519) | fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self { constant MODULUS (line 532) | const MODULUS: FieldElement = FieldElement([ type Output (line 541) | type Output = FieldElement; method neg (line 544) | fn neg(self) -> FieldElement { type Output (line 550) | type Output = FieldElement; method neg (line 553) | fn neg(self) -> FieldElement { type Output (line 559) | type Output = FieldElement; function sub (line 562) | fn sub(self, rhs: &'b FieldElement) -> FieldElement { type Output (line 568) | type Output = FieldElement; function add (line 571) | fn add(self, rhs: &'b FieldElement) -> FieldElement { type Output (line 577) | type Output = FieldElement; function mul (line 580) | fn mul(self, rhs: &'b FieldElement) -> FieldElement { constant INV (line 589) | const INV: u64 = 0x4b0dff665588b13f; constant R (line 593) | const R: FieldElement = FieldElement([ constant R2 (line 603) | const R2: FieldElement = FieldElement([ constant R3 (line 613) | const R3: FieldElement = FieldElement([ method default (line 623) | fn default() -> Self { method zeroize (line 653) | fn zeroize(&mut self) { function from (line 1042) | fn from(value: &'a FieldElement) -> [u8; 32] { function test_inv (line 1073) | fn test_inv() { function test_debug (line 1089) | fn test_debug() { function test_equality (line 1105) | fn test_equality() { function test_to_bytes (line 1115) | fn test_to_bytes() { function test_from_bytes (line 1134) | fn test_from_bytes() { function test_from_u512_zero (line 1155) | fn test_from_u512_zero() { function test_from_u512_r (line 1172) | fn test_from_u512_r() { function test_from_u512_r2 (line 1177) | fn test_from_u512_r2() { function test_from_u512_max (line 1182) | fn test_from_u512_max() { function test_from_bytes_wide_r2 (line 1193) | fn test_from_bytes_wide_r2() { function test_from_bytes_wide_negative_one (line 1205) | fn test_from_bytes_wide_negative_one() { function test_zero (line 1217) | fn test_zero() { constant LARGEST (line 1233) | const LARGEST: FieldElement = FieldElement([ function test_addition (line 1242) | fn test_addition() { function test_negation (line 1263) | fn test_negation() { function test_subtraction (line 1275) | fn test_subtraction() { function test_multiplication (line 1291) | fn test_multiplication() { function test_squaring (line 1320) | fn test_squaring() { function test_inversion (line 1349) | fn test_inversion() { function test_invert_is_pow (line 1375) | fn test_invert_is_pow() { function test_from_raw (line 1402) | fn test_from_raw() { function test_double (line 1417) | fn test_double() { FILE: packages/secq256k1/src/field/mod.rs type BaseField (line 6) | pub trait BaseField: PrimeField { method to_bytes (line 7) | fn to_bytes(&self) -> [u8; 32]; method to_be_bytes (line 10) | fn to_be_bytes(&self) -> [u8; 32]; method from_bytes (line 11) | fn from_bytes(bytes: &[u8; 32]) -> CtOption; type SqrtRatio (line 14) | pub trait SqrtRatio: BaseField { constant C1 (line 15) | const C1: u64; constant C3 (line 16) | const C3: Self; constant C4 (line 17) | const C4: Self; constant C5 (line 18) | const C5: Self; constant C6 (line 19) | const C6: Self; constant C7 (line 20) | const C7: Self; method sqrt_ratio (line 22) | fn sqrt_ratio(u: &Self, v: &Self) -> (Choice, Self); FILE: packages/secq256k1/src/hashtocurve.rs function hash_to_curve (line 5) | pub fn hash_to_curve( function iso_map (line 24) | fn iso_map(x: F, y: F, k: [F; 13]) -> (F, F) { function map_to_curve_simple_swu (line 42) | fn map_to_curve_simple_swu(u: F, curve_a: F, c... type F (line 85) | type F = FieldElement; constant ISO_A (line 90) | const ISO_A: F = FieldElement([ constant ISO_B (line 99) | const ISO_B: F = FieldElement([7606388811483, 0, 0, 0, 0]); constant ISO_Z (line 102) | const ISO_Z: F = FieldElement([ constant ISO_CONSTANTS (line 110) | const ISO_CONSTANTS: [F; 13] = [ type TestSuite (line 191) | struct TestSuite { method new (line 199) | fn new(u1: [u8; 32], u2: [u8; 32], px: [u8; 32], py: [u8; 32]) -> Self { function assert_hash_to_curve (line 204) | fn assert_hash_to_curve(u1: FieldElement, u2: FieldElement, expected: Af... function test_secp_hash_to_curve (line 224) | fn test_secp_hash_to_curve() { FILE: packages/secq256k1/src/lib.rs type EncodedPoint (line 16) | pub type EncodedPoint = primeorder::elliptic_curve::sec1::EncodedPoint; type ProjectivePoint (line 18) | pub type ProjectivePoint = primeorder::ProjectivePoint; constant ORDER (line 20) | pub const ORDER: U256 = type Secq256K1 (line 24) | pub struct Secq256K1; type UInt (line 27) | type UInt = U256; constant ORDER (line 29) | const ORDER: U256 = type FieldElement (line 34) | type FieldElement = FieldElement; constant ZERO (line 36) | const ZERO: FieldElement = FieldElement::ZERO; constant ONE (line 37) | const ONE: FieldElement = FieldElement::ONE; constant EQUATION_A (line 39) | const EQUATION_A: FieldElement = FieldElement::ZERO; constant EQUATION_B (line 41) | const EQUATION_B: FieldElement = constant GENERATOR (line 44) | const GENERATOR: (FieldElement, FieldElement) = ( type AffinePoint (line 67) | type AffinePoint = AffinePointCore; type ProjectivePoint (line 71) | type ProjectivePoint = ProjectivePoint; type Scalar (line 75) | type Scalar = Scalar; FILE: packages/secq256k1/src/scalar.rs type ScalarCore (line 23) | type ScalarCore = primeorder::elliptic_curve::ScalarCore; type Scalar (line 26) | pub struct Scalar(pub ScalarCore); type Output (line 113) | type Output = Scalar; method add (line 115) | fn add(self, other: Scalar) -> Scalar { type Output (line 121) | type Output = Scalar; method add (line 123) | fn add(self, other: &Scalar) -> Scalar { method add_assign (line 129) | fn add_assign(&mut self, other: Scalar) { method add_assign (line 135) | fn add_assign(&mut self, other: &Scalar) { type Output (line 141) | type Output = Scalar; method sub (line 143) | fn sub(self, other: Scalar) -> Scalar { type Output (line 149) | type Output = Scalar; method sub (line 151) | fn sub(self, other: &Scalar) -> Scalar { method sub_assign (line 157) | fn sub_assign(&mut self, other: Scalar) { method sub_assign (line 163) | fn sub_assign(&mut self, other: &Scalar) { type Output (line 169) | type Output = Scalar; method mul (line 171) | fn mul(self, other: Scalar) -> Scalar { type Output (line 180) | type Output = Scalar; method mul (line 182) | fn mul(self, other: &Scalar) -> Scalar { method mul_assign (line 188) | fn mul_assign(&mut self, rhs: Scalar) { method mul_assign (line 194) | fn mul_assign(&mut self, rhs: &Scalar) { method sum (line 214) | fn sum>(_iter: I) -> Self { method product (line 226) | fn product>(_iter: I) -> Self { method from_uint_reduced (line 232) | fn from_uint_reduced(w: U256) -> Self { type Error (line 241) | type Error = Error; method try_from (line 243) | fn try_from(w: U256) -> Result { method from (line 255) | fn from(n: u64) -> Scalar { method from (line 261) | fn from(scalar: ScalarCore) -> Scalar { constant ZERO (line 291) | pub const ZERO: Scalar = Scalar(ScalarCore::ZERO); constant ONE (line 292) | pub const ONE: Scalar = Scalar(ScalarCore::ONE); method to_bytes (line 294) | pub fn to_bytes(&self) -> [u8; 32] { method from (line 300) | fn from(n: u32) -> Scalar { method one (line 29) | fn one() -> Self { method zero (line 33) | fn zero() -> Self { method random (line 37) | fn random(mut rng: impl RngCore) -> Self { method is_zero (line 48) | fn is_zero(&self) -> Choice { method square (line 53) | fn square(&self) -> Self { method double (line 58) | fn double(&self) -> Self { method invert (line 62) | fn invert(&self) -> CtOption { method sqrt (line 66) | fn sqrt(&self) -> CtOption { type Repr (line 72) | type Repr = FieldBytes; constant NUM_BITS (line 74) | const NUM_BITS: u32 = 256; constant CAPACITY (line 75) | const CAPACITY: u32 = 255; constant S (line 76) | const S: u32 = 4; method from_repr (line 78) | fn from_repr(bytes: FieldBytes) -> CtOption { method to_repr (line 82) | fn to_repr(&self) -> FieldBytes { method is_odd (line 86) | fn is_odd(&self) -> Choice { method multiplicative_generator (line 90) | fn multiplicative_generator() -> Self { method root_of_unity (line 94) | fn root_of_unity() -> Self { method ct_eq (line 107) | fn ct_eq(&self, other: &Self) -> Choice { type Output (line 200) | type Output = Scalar; method neg (line 202) | fn neg(self) -> Scalar { method sum (line 208) | fn sum>(_iter: I) -> Self { method product (line 220) | fn product>(_iter: I) -> Self { method from (line 249) | fn from(scalar: Scalar) -> U256 { method from (line 267) | fn from(scalar: Scalar) -> Self { method from (line 273) | fn from(scalar: &Scalar) -> Self { method is_high (line 279) | fn is_high(&self) -> Choice { method conditional_select (line 285) | fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self { type ReprBits (line 306) | type ReprBits = [u8; 32]; method to_le_bits (line 308) | fn to_le_bits(&self) -> ff::FieldBits { method char_le_bits (line 312) | fn char_le_bits() -> ff::FieldBits { function add (line 322) | fn add() { function test_all (line 330) | fn test_all() { FILE: packages/spartan_wasm/src/wasm.rs type G1 (line 11) | pub type G1 = secq256k1::AffinePoint; type F1 (line 12) | pub type F1 = ::Scalar; function init_panic_hook (line 15) | pub fn init_panic_hook() { function prove (line 20) | pub fn prove(circuit: &[u8], vars: &[u8], public_inputs: &[u8]) -> Resul... function verify (line 58) | pub fn verify(circuit: &[u8], proof: &[u8], public_input: &[u8]) -> Resu... function poseidon (line 86) | pub fn poseidon(input_bytes: &[u8]) -> Result, JsValue> { function read_field (line 100) | pub fn read_field(mut reader: R) -> Result( function check_nizk (line 169) | fn check_nizk() { function test_poseidon (line 197) | fn test_poseidon() { FILE: packages/spartan_wasm/test_circuit/test_circuit_js/witness_calculator.js function getMessage (line 81) | function getMessage() { function printSharedRWMemory (line 91) | function printSharedRWMemory () { class WitnessCalculator (line 108) | class WitnessCalculator { method constructor (line 109) | constructor(instance, sanityCheck) { method circom_version (line 127) | circom_version() { method _doCalculateWitness (line 131) | async _doCalculateWitness(input, sanityCheck) { method calculateWitness (line 171) | async calculateWitness(input, sanityCheck) { method calculateBinWitness (line 190) | async calculateBinWitness(input, sanityCheck) { method calculateWTNSBin (line 208) | async calculateWTNSBin(input, sanityCheck) { function toArray32 (line 277) | function toArray32(rem,size) { function fromArray32 (line 294) | function fromArray32(arr) { //returns a BigInt function flatArray (line 303) | function flatArray(a) { function normalize (line 319) | function normalize(n, prime) { function fnvHash (line 325) | function fnvHash(str) {