element_fp3.hpp
Go to the documentation of this file.
275 this->bp.add_r1cs_constraint(snark::r1cs_constraint<base_field_type>(A.data[0], B.data[0], v0));
276 this->bp.add_r1cs_constraint(snark::r1cs_constraint<base_field_type>(A.data[2], B.data[2], v4));
Definition: blueprint_linear_combination.hpp:47
void assign(blueprint< field_type > &bp, const snark::linear_combination< field_type > &lc)
Definition: blueprint_linear_combination.hpp:65
void evaluate(blueprint< field_type > &bp) const
Definition: blueprint_linear_combination.hpp:71
void allocate(blueprint< FieldType > &bp)
Definition: blueprint_variable.hpp:51
Definition: blueprint.hpp:46
Definition: component.hpp:37
blueprint< Fp3T::underlying_field_type > & bp
Definition: component.hpp:39
Definition: pair.hpp:31
Definition: element_fp3.hpp:321
typename Fp3T::underlying_field_type base_field_type
Definition: element_fp3.hpp:322
element_fp3_mul_by_lc(blueprint< base_field_type > &bp, const element_fp3< Fp3T > &A, const blueprint_linear_combination< base_field_type > &lc, const element_fp3< Fp3T > &result)
Definition: element_fp3.hpp:328
void generate_r1cs_constraints()
Definition: element_fp3.hpp:336
void generate_r1cs_witness()
Definition: element_fp3.hpp:345
element_fp3< Fp3T > A
Definition: element_fp3.hpp:324
element_fp3< Fp3T > result
Definition: element_fp3.hpp:326
blueprint_linear_combination< base_field_type > lc
Definition: element_fp3.hpp:325
Definition: element_fp3.hpp:219
element_fp3< Fp3T > A
Definition: element_fp3.hpp:222
blueprint_variable< base_field_type > v0
Definition: element_fp3.hpp:226
element_fp3_mul(blueprint< base_field_type > &bp, const element_fp3< Fp3T > &A, const element_fp3< Fp3T > &B, const element_fp3< Fp3T > &result)
Definition: element_fp3.hpp:229
typename Fp3T::base_field_type base_field_type
Definition: element_fp3.hpp:220
element_fp3< Fp3T > result
Definition: element_fp3.hpp:224
blueprint_variable< base_field_type > v4
Definition: element_fp3.hpp:227
void generate_r1cs_witness()
Definition: element_fp3.hpp:304
element_fp3< Fp3T > B
Definition: element_fp3.hpp:223
void generate_r1cs_constraints()
Definition: element_fp3.hpp:239
Definition: element_fp3.hpp:358
void generate_r1cs_witness()
Definition: element_fp3.hpp:378
typename Fp3T::underlying_field_type base_field_type
Definition: element_fp3.hpp:359
element_fp3< Fp3T > result
Definition: element_fp3.hpp:362
void generate_r1cs_constraints()
Definition: element_fp3.hpp:374
element_fp3_squared(blueprint< base_field_type > &bp, const element_fp3< Fp3T > &A, const element_fp3< Fp3T > &result)
Definition: element_fp3.hpp:366
element_fp3< Fp3T > A
Definition: element_fp3.hpp:361
std::shared_ptr< element_fp3_mul< Fp3T > > mul
Definition: element_fp3.hpp:364
Definition: element_fp3.hpp:52
element_fp3(blueprint< base_field_type > &bp, const typename Fp3T::value_type &el)
Definition: element_fp3.hpp:84
Fp3T::value_type get_element()
Definition: element_fp3.hpp:153
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp3.hpp:56
typename base_field_type::value_type base_field_value_type
Definition: element_fp3.hpp:60
static std::size_t num_variables()
Definition: element_fp3.hpp:208
element_fp3(blueprint< base_field_type > &bp)
Definition: element_fp3.hpp:69
std::array< underlying_element_type, field_type::arity/underlying_field_type::arity > data_type
Definition: element_fp3.hpp:63
static std::size_t size_in_bits()
Definition: element_fp3.hpp:204
element_fp3(blueprint< base_field_type > &bp, const typename Fp3T::value_type &el, const blueprint_linear_combination< base_field_type > &coeff)
Definition: element_fp3.hpp:106
element_fp3< Fp3T > mul_by_X() const
Definition: element_fp3.hpp:185
blueprint_linear_combination_vector< base_field_type > all_vars
Definition: element_fp3.hpp:67
void generate_r1cs_witness(const typename Fp3T::value_type &el)
Definition: element_fp3.hpp:147
element_fp3(blueprint< base_field_type > &bp, const underlying_element_type &c0_lc, const underlying_element_type &c1_lc, const underlying_element_type &c2_lc)
Definition: element_fp3.hpp:127
element_fp3< Fp3T > operator+(const typename Fp3T::value_type &other) const
Definition: element_fp3.hpp:177
bool is_constant() const
Definition: element_fp3.hpp:200
void evaluate() const
Definition: element_fp3.hpp:194
element_fp< underlying_field_type > underlying_element_type
Definition: element_fp3.hpp:58
typename field_type::base_field_type base_field_type
Definition: element_fp3.hpp:55
element_fp3< Fp3T > operator+(const element_fp3< Fp3T > &other) const
Definition: element_fp3.hpp:169
element_fp3< Fp3T > operator*(const typename base_field_type::value_type &coeff) const
Definition: element_fp3.hpp:161
void generate_r1cs_equals_const_constraints(const typename Fp3T::value_type &el)
Definition: element_fp3.hpp:141
Definition: r1cs.hpp:60