element_fp6_2over3.hpp
Go to the documentation of this file.
426 /******************************** element_fp6_2over3_squared ************************************/
470 class element_fp6_2over3_cyclotomic_squared : public component<typename FieldType::base_field_type> {
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
Definition: blueprint.hpp:46
Definition: component.hpp:37
blueprint< FieldType > & bp
Definition: component.hpp:39
Definition: element_fp6_2over3.hpp:470
element_fp6_2over3< field_type > result
Definition: element_fp6_2over3.hpp:482
std::shared_ptr< element_fp2< Fp2T > > bsq
Definition: element_fp6_2over3.hpp:498
std::shared_ptr< element_fp2< Fp2T > > c
Definition: element_fp6_2over3.hpp:486
void generate_r1cs_constraints()
Definition: element_fp6_2over3.hpp:561
std::shared_ptr< element_fp2_squared< Fp2T > > compute_csq
Definition: element_fp6_2over3.hpp:503
element_fp6_2over3_cyclotomic_squared(blueprint< base_field_type > &bp, const element_fp6_2over3< field_type > &A, const element_fp6_2over3< field_type > &result)
Definition: element_fp6_2over3.hpp:505
std::shared_ptr< element_fp2< Fp2T > > asq
Definition: element_fp6_2over3.hpp:497
blueprint_linear_combination< base_field_type > asq_c1
Definition: element_fp6_2over3.hpp:489
void generate_r1cs_witness()
Definition: element_fp6_2over3.hpp:567
std::shared_ptr< element_fp2_squared< Fp2T > > compute_asq
Definition: element_fp6_2over3.hpp:501
std::shared_ptr< element_fp2< Fp2T > > b
Definition: element_fp6_2over3.hpp:485
blueprint_linear_combination< base_field_type > asq_c0
Definition: element_fp6_2over3.hpp:488
std::shared_ptr< element_fp2< Fp2T > > csq
Definition: element_fp6_2over3.hpp:499
blueprint_linear_combination< base_field_type > bsq_c1
Definition: element_fp6_2over3.hpp:492
element_fp6_2over3< field_type > A
Definition: element_fp6_2over3.hpp:481
std::shared_ptr< element_fp2< Fp2T > > a
Definition: element_fp6_2over3.hpp:484
blueprint_linear_combination< base_field_type > csq_c0
Definition: element_fp6_2over3.hpp:494
blueprint_linear_combination< base_field_type > csq_c1
Definition: element_fp6_2over3.hpp:495
blueprint_linear_combination< base_field_type > bsq_c0
Definition: element_fp6_2over3.hpp:491
std::shared_ptr< element_fp2_squared< Fp2T > > compute_bsq
Definition: element_fp6_2over3.hpp:502
Definition: element_fp6_2over3.hpp:277
std::shared_ptr< underlying_element_type > v0
Definition: element_fp6_2over3.hpp:298
element_fp6_2over3_mul_by_2345(blueprint< base_field_type > &bp, const element_fp6_2over3< field_type > &A, const element_fp6_2over3< field_type > &B, const element_fp6_2over3< field_type > &result)
Definition: element_fp6_2over3.hpp:314
element_fp6_2over3< field_type > B
Definition: element_fp6_2over3.hpp:286
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c0
Definition: element_fp6_2over3.hpp:306
element_fp6_2over3< field_type > A
Definition: element_fp6_2over3.hpp:285
blueprint_linear_combination< base_field_type > v0_c0
Definition: element_fp6_2over3.hpp:289
element_fp6_2over3< field_type > result
Definition: element_fp6_2over3.hpp:287
blueprint_linear_combination< base_field_type > v0_c2
Definition: element_fp6_2over3.hpp:291
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c2
Definition: element_fp6_2over3.hpp:303
std::shared_ptr< underlying_element_type > v1
Definition: element_fp6_2over3.hpp:299
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c1
Definition: element_fp6_2over3.hpp:302
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c0
Definition: element_fp6_2over3.hpp:301
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c0
Definition: element_fp6_2over3.hpp:293
std::shared_ptr< underlying_element_type > Bc0_plus_Bc1
Definition: element_fp6_2over3.hpp:304
std::shared_ptr< underlying_element_type > result_c1_plus_v0_plus_v1
Definition: element_fp6_2over3.hpp:309
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c1
Definition: element_fp6_2over3.hpp:307
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_v1
Definition: element_fp6_2over3.hpp:311
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c1
Definition: element_fp6_2over3.hpp:294
void generate_r1cs_witness()
Definition: element_fp6_2over3.hpp:391
void generate_r1cs_constraints()
Definition: element_fp6_2over3.hpp:376
blueprint_linear_combination< base_field_type > v0_c1
Definition: element_fp6_2over3.hpp:290
std::shared_ptr< underlying_element_type > Ac0_plus_Ac1
Definition: element_fp6_2over3.hpp:296
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c2
Definition: element_fp6_2over3.hpp:308
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_result_c1
Definition: element_fp6_2over3.hpp:312
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c2
Definition: element_fp6_2over3.hpp:295
Definition: element_fp6_2over3.hpp:137
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c1
Definition: element_fp6_2over3.hpp:168
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c0
Definition: element_fp6_2over3.hpp:167
element_fp6_2over3< field_type > result
Definition: element_fp6_2over3.hpp:148
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c1
Definition: element_fp6_2over3.hpp:155
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c2
Definition: element_fp6_2over3.hpp:156
std::shared_ptr< underlying_element_type > Ac0_plus_Ac1
Definition: element_fp6_2over3.hpp:157
blueprint_linear_combination< base_field_type > v0_c1
Definition: element_fp6_2over3.hpp:151
blueprint_linear_combination< base_field_type > v0_c2
Definition: element_fp6_2over3.hpp:152
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_v0
Definition: element_fp6_2over3.hpp:172
std::shared_ptr< underlying_element_type > result_c1_plus_v0_plus_v1
Definition: element_fp6_2over3.hpp:170
void generate_r1cs_witness()
Definition: element_fp6_2over3.hpp:241
std::shared_ptr< underlying_element_type > v1
Definition: element_fp6_2over3.hpp:160
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c0
Definition: element_fp6_2over3.hpp:154
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c2
Definition: element_fp6_2over3.hpp:169
element_fp6_2over3< field_type > B
Definition: element_fp6_2over3.hpp:147
std::shared_ptr< underlying_element_type > Bc0_plus_Bc1
Definition: element_fp6_2over3.hpp:165
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_result_c1
Definition: element_fp6_2over3.hpp:174
blueprint_linear_combination< base_field_type > v0_c0
Definition: element_fp6_2over3.hpp:150
std::shared_ptr< underlying_element_type > v0
Definition: element_fp6_2over3.hpp:159
element_fp6_2over3< field_type > A
Definition: element_fp6_2over3.hpp:146
void generate_r1cs_constraints()
Definition: element_fp6_2over3.hpp:235
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c0
Definition: element_fp6_2over3.hpp:162
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c1
Definition: element_fp6_2over3.hpp:163
element_fp6_2over3_mul(blueprint< base_field_type > &bp, const element_fp6_2over3< field_type > &A, const element_fp6_2over3< field_type > &B, const element_fp6_2over3< field_type > &result)
Definition: element_fp6_2over3.hpp:176
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_v1
Definition: element_fp6_2over3.hpp:173
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c2
Definition: element_fp6_2over3.hpp:164
Definition: element_fp6_2over3.hpp:432
element_fp6_2over3_squared(blueprint< base_field_type > &bp, const element_fp6_2over3< field_type > &A, const element_fp6_2over3< field_type > &result)
Definition: element_fp6_2over3.hpp:446
element_fp6_2over3< field_type > A
Definition: element_fp6_2over3.hpp:441
void generate_r1cs_witness()
Definition: element_fp6_2over3.hpp:458
std::shared_ptr< element_fp6_2over3_mul< field_type > > mul
Definition: element_fp6_2over3.hpp:444
element_fp6_2over3< field_type > result
Definition: element_fp6_2over3.hpp:442
void generate_r1cs_constraints()
Definition: element_fp6_2over3.hpp:454
Definition: element_fp6_2over3.hpp:51
void generate_r1cs_equals_const_constraints(const typename field_type::value_type &el)
Definition: element_fp6_2over3.hpp:81
field_type::value_type get_element()
Definition: element_fp6_2over3.hpp:91
element_fp6_2over3(blueprint< base_field_type > &bp, const underlying_element_type &in_data0, const underlying_element_type &in_data1)
Definition: element_fp6_2over3.hpp:75
element_fp6_2over3(blueprint< base_field_type > &bp, const typename field_type::value_type &el)
Definition: element_fp6_2over3.hpp:70
data_type data
Definition: element_fp6_2over3.hpp:63
element_fp6_2over3(blueprint< base_field_type > &bp)
Definition: element_fp6_2over3.hpp:65
element_fp6_2over3< field_type > Frobenius_map(const std::size_t power) const
Definition: element_fp6_2over3.hpp:98
void generate_r1cs_witness(const typename field_type::value_type &el)
Definition: element_fp6_2over3.hpp:86
void evaluate() const
Definition: element_fp6_2over3.hpp:125
nil::crypto3::math::expressions::detail::parser::power_ power
Definition: pair.hpp:31
Definition: element_fp2.hpp:301
Definition: element_fp2.hpp:52
Definition: element_fp3.hpp:219
Definition: element_fp3.hpp:52
Definition: r1cs.hpp:60