blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp
Go to the documentation of this file.
243 this->bp.add_r1cs_constraint(snark::r1cs_constraint<scalar_field_type>({P1.Y}, {P2.X}, {Y1X2}));
244 this->bp.add_r1cs_constraint(snark::r1cs_constraint<scalar_field_type>({P1.X}, {P2.Y}, {X1Y2}));
245 this->bp.add_r1cs_constraint(snark::r1cs_constraint<scalar_field_type>({P1.X}, {P2.X}, {X1X2}));
246 this->bp.add_r1cs_constraint(snark::r1cs_constraint<scalar_field_type>({P1.Y}, {P2.Y}, {Y1Y2}));
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< CurveType::scalar_field_type > & bp
Definition: component.hpp:39
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:193
blueprint_variable< scalar_field_type > d
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:198
element_g1< CurveType > P1
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:200
element_g1< CurveType > P2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:201
blueprint_variable< scalar_field_type > X1Y2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:208
void generate_r1cs_constraints()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:238
blueprint_variable< scalar_field_type > aX1X2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:213
element_g1< CurveType > P1pP2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:202
element_g1_add(blueprint< scalar_field_type > &bp, blueprint_variable< scalar_field_type > a, blueprint_variable< scalar_field_type > d, const element_g1< CurveType > &P1, const element_g1< CurveType > &P2, const element_g1< CurveType > &P1pP2)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:215
blueprint_variable< scalar_field_type > a
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:197
blueprint_variable< scalar_field_type > Y1Y2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:209
blueprint_variable< scalar_field_type > X1X2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:207
blueprint_variable< scalar_field_type > X1X2Y1Y2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:211
blueprint_variable< scalar_field_type > Y1X2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:210
void generate_r1cs_witness()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:257
blueprint_variable< scalar_field_type > dX1X2Y1Y2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:212
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:289
element_g1< CurveType > P1
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:296
void generate_r1cs_constraints()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:333
blueprint_variable< scalar_field_type > Y_intermediate_toAdd2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:307
element_g1_conditional_add(blueprint< scalar_field_type > &bp, blueprint_variable< scalar_field_type > a, blueprint_variable< scalar_field_type > d, const element_g1< CurveType > &P1, const element_g1< CurveType > &P2, const element_g1< CurveType > &P1pP2, blueprint_variable< scalar_field_type > canAdd)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:312
blueprint_variable< scalar_field_type > Y_intermediate_toAdd1
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:306
void generate_r1cs_witness()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:376
blueprint_variable< scalar_field_type > canAdd
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:300
element_g1< CurveType > P_toAdd
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:303
element_g1< CurveType > P1pP2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:298
blueprint_variable< scalar_field_type > d
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:294
std::shared_ptr< element_g1_add< CurveType > > el_add
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:310
blueprint_variable< scalar_field_type > not_canAdd
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:308
blueprint_variable< scalar_field_type > a
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:293
element_g1< CurveType > P2
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:297
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:114
blueprint_variable< scalar_field_type > rhs
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:130
element_g1_is_well_formed(blueprint< scalar_field_type > &bp, blueprint_variable< scalar_field_type > a, blueprint_variable< scalar_field_type > d, const element_g1< CurveType > &P)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:132
blueprint_variable< scalar_field_type > XX
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:124
blueprint_variable< scalar_field_type > aXX
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:125
blueprint_variable< scalar_field_type > dXX
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:126
void generate_r1cs_witness()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:166
blueprint_variable< scalar_field_type > dXXYY
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:128
blueprint_variable< scalar_field_type > lhs
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:129
blueprint_variable< scalar_field_type > d
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:121
void generate_r1cs_constraints()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:149
blueprint_variable< scalar_field_type > a
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:120
blueprint_variable< scalar_field_type > YY
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:127
element_g1< CurveType > P
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:118
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:51
element_g1(blueprint< scalar_field_type > &bp)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:61
underlying_element_type X
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:56
element_g1(blueprint< scalar_field_type > &bp, const typename CurveType::pairing::chained_curve_type::template g1_type<>::value_type &P)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:74
underlying_element_type Y
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:57
void generate_r1cs_witness(const typename CurveType::pairing::chained_curve_type::template g1_type<>::value_type &el)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:89
static std::size_t __attribute__((noinline)) size_in_bits()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:100
blueprint_linear_combination_vector< scalar_field_type > all_vars
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:59
static std::size_t num_variables()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/curves/edwards/element_g1.hpp:104
Definition: pair.hpp:31
Definition: r1cs.hpp:60