element_fp4.hpp
Go to the documentation of this file.
277 -(1/3)v0+v1-(1/2)v2-(1/4)v3+(1/20)v4+(1/30)v5-12v6+beta(-(1/12)(v0-v1)+(1/24)(v2-v3)-(1/120)(v4-v5)-3v6),
314 -(1/3)v0+v1-(1/2)v2-(1/4)v3+(1/20)v4+(1/30)v5-12v6+beta(-(1/12)(v0-v1)+(1/24)(v2-v3)-(1/120)(v4-v5)-3v6),
535 /******************************** element_fp4_cyclotomic_squared ************************************/
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< Fp4T::base_field_type > & bp
Definition: component.hpp:39
Definition: element_fp4.hpp:541
blueprint_linear_combination< base_field_type > c1_expr_c1
Definition: element_fp4.hpp:564
element_fp4_cyclotomic_squared(blueprint< base_field_type > &bp, const element_fp4< field_type > &A, const element_fp4< field_type > &result)
Definition: element_fp4.hpp:568
blueprint_linear_combination< base_field_type > A_c0_plus_A_c1_c1
Definition: element_fp4.hpp:560
typename field_type::base_field_type base_field_type
Definition: element_fp4.hpp:544
void generate_r1cs_constraints()
Definition: element_fp4.hpp:625
std::shared_ptr< element_fp2_squared< underlying_field_type > > compute_c0_expr
Definition: element_fp4.hpp:557
std::shared_ptr< underlying_element_type > A_c0_plus_A_c1
Definition: element_fp4.hpp:561
element_fp2< underlying_field_type > underlying_element_type
Definition: element_fp4.hpp:547
void generate_r1cs_witness()
Definition: element_fp4.hpp:630
std::shared_ptr< element_fp2_squared< underlying_field_type > > compute_c1_expr
Definition: element_fp4.hpp:566
blueprint_linear_combination< base_field_type > A_c0_plus_A_c1_c0
Definition: element_fp4.hpp:559
blueprint_linear_combination< base_field_type > c0_expr_c1
Definition: element_fp4.hpp:555
blueprint_linear_combination< base_field_type > c1_expr_c0
Definition: element_fp4.hpp:563
std::shared_ptr< underlying_element_type > c1_expr
Definition: element_fp4.hpp:565
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp4.hpp:545
element_fp4< field_type > result
Definition: element_fp4.hpp:552
typename base_field_type::value_type base_field_value_type
Definition: element_fp4.hpp:549
Fp4T field_type
Definition: element_fp4.hpp:543
blueprint_linear_combination< base_field_type > c0_expr_c0
Definition: element_fp4.hpp:554
std::shared_ptr< underlying_element_type > c0_expr
Definition: element_fp4.hpp:556
element_fp4< field_type > A
Definition: element_fp4.hpp:551
Definition: element_fp4.hpp:241
element_fp4< field_type > B
Definition: element_fp4.hpp:252
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp4.hpp:245
Fp4T field_type
Definition: element_fp4.hpp:243
typename field_type::base_field_type base_field_type
Definition: element_fp4.hpp:244
void generate_r1cs_witness()
Definition: element_fp4.hpp:397
void generate_r1cs_constraints()
Definition: element_fp4.hpp:327
blueprint_variable< base_field_type > v2
Definition: element_fp4.hpp:256
element_fp4< field_type > result
Definition: element_fp4.hpp:253
typename base_field_type::value_type base_field_value_type
Definition: element_fp4.hpp:249
blueprint_variable< base_field_type > v1
Definition: element_fp4.hpp:255
element_fp4_direct_mul(blueprint< base_field_type > &bp, const element_fp4< field_type > &A, const element_fp4< field_type > &B, const element_fp4< field_type > &result)
Definition: element_fp4.hpp:259
element_fp4< field_type > A
Definition: element_fp4.hpp:251
blueprint_variable< base_field_type > v6
Definition: element_fp4.hpp:257
Definition: element_fp4.hpp:435
std::shared_ptr< element_fp2_squared< underlying_field_type > > compute_v0
Definition: element_fp4.hpp:452
blueprint_linear_combination< base_field_type > v0_c1
Definition: element_fp4.hpp:449
Fp4T field_type
Definition: element_fp4.hpp:437
typename field_type::base_field_type base_field_type
Definition: element_fp4.hpp:438
std::shared_ptr< underlying_element_type > result_c1_plus_v0_plus_v1
Definition: element_fp4.hpp:462
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c0
Definition: element_fp4.hpp:459
std::shared_ptr< element_fp2_squared< underlying_field_type > > compute_result_c1
Definition: element_fp4.hpp:464
std::shared_ptr< underlying_element_type > Ac0_plus_Ac1
Definition: element_fp4.hpp:457
std::shared_ptr< underlying_element_type > v1
Definition: element_fp4.hpp:446
element_fp4< field_type > result
Definition: element_fp4.hpp:444
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c1
Definition: element_fp4.hpp:460
void generate_r1cs_witness()
Definition: element_fp4.hpp:518
element_fp4< field_type > A
Definition: element_fp4.hpp:443
element_fp2< underlying_field_type > underlying_element_type
Definition: element_fp4.hpp:441
void generate_r1cs_constraints()
Definition: element_fp4.hpp:512
std::shared_ptr< element_fp2_squared< underlying_field_type > > compute_v1
Definition: element_fp4.hpp:453
std::shared_ptr< underlying_element_type > v0
Definition: element_fp4.hpp:450
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c1
Definition: element_fp4.hpp:456
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c0
Definition: element_fp4.hpp:455
element_fp4_squared(blueprint< base_field_type > &bp, const element_fp4< field_type > &A, const element_fp4< field_type > &result)
Definition: element_fp4.hpp:466
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp4.hpp:439
blueprint_linear_combination< base_field_type > v0_c0
Definition: element_fp4.hpp:448
Definition: element_fp4.hpp:123
std::shared_ptr< underlying_element_type > v1
Definition: element_fp4.hpp:143
element_fp4< field_type > A
Definition: element_fp4.hpp:131
void generate_r1cs_constraints()
Definition: element_fp4.hpp:209
std::shared_ptr< underlying_element_type > v0
Definition: element_fp4.hpp:142
element_fp4_tower_mul(blueprint< base_field_type > &bp, const element_fp4< field_type > &A, const element_fp4< field_type > &B, const element_fp4< field_type > &result)
Definition: element_fp4.hpp:158
blueprint_linear_combination< base_field_type > v0_c0
Definition: element_fp4.hpp:135
std::shared_ptr< element_fp2_mul< underlying_field_type > > compute_v1
Definition: element_fp4.hpp:155
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c0
Definition: element_fp4.hpp:149
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c0
Definition: element_fp4.hpp:138
std::shared_ptr< element_fp2_mul< underlying_field_type > > compute_v0
Definition: element_fp4.hpp:154
std::shared_ptr< underlying_element_type > result_c1_plus_v0_plus_v1
Definition: element_fp4.hpp:152
blueprint_linear_combination< base_field_type > v0_c1
Definition: element_fp4.hpp:136
element_fp4< field_type > B
Definition: element_fp4.hpp:132
Fp4T field_type
Definition: element_fp4.hpp:125
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c1
Definition: element_fp4.hpp:146
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c1
Definition: element_fp4.hpp:139
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c0
Definition: element_fp4.hpp:145
element_fp2< underlying_field_type > underlying_element_type
Definition: element_fp4.hpp:129
std::shared_ptr< underlying_element_type > Bc0_plus_Bc1
Definition: element_fp4.hpp:147
std::shared_ptr< element_fp2_mul< underlying_field_type > > compute_result_c1
Definition: element_fp4.hpp:156
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp4.hpp:127
std::shared_ptr< underlying_element_type > Ac0_plus_Ac1
Definition: element_fp4.hpp:140
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c1
Definition: element_fp4.hpp:150
void generate_r1cs_witness()
Definition: element_fp4.hpp:215
element_fp4< field_type > result
Definition: element_fp4.hpp:133
typename field_type::base_field_type base_field_type
Definition: element_fp4.hpp:126
nil::crypto3::math::expressions::detail::parser::power_ power
Definition: pair.hpp:31
Definition: element_fp2.hpp:199
Definition: element_fp2.hpp:301
Definition: element_fp2.hpp:52
Definition: element_fp4.hpp:50
element_fp2< underlying_field_type > underlying_element_type
Definition: element_fp4.hpp:56
typename field_type::base_field_type base_field_type
Definition: element_fp4.hpp:53
std::array< underlying_element_type, field_type::arity/underlying_field_type::arity > data_type
Definition: element_fp4.hpp:59
void generate_r1cs_witness(const typename field_type::value_type &el)
Definition: element_fp4.hpp:84
void evaluate() const
Definition: element_fp4.hpp:111
typename field_type::underlying_field_type underlying_field_type
Definition: element_fp4.hpp:54
field_type::value_type get_element()
Definition: element_fp4.hpp:89
element_fp4< field_type > Frobenius_map(const std::size_t power) const
Definition: element_fp4.hpp:96
element_fp4(blueprint< base_field_type > &bp)
Definition: element_fp4.hpp:63
element_fp4(blueprint< base_field_type > &bp, const typename field_type::value_type &el)
Definition: element_fp4.hpp:68
element_fp4(blueprint< base_field_type > &bp, const underlying_element_type &in_data0, const underlying_element_type &in_data1)
Definition: element_fp4.hpp:73
void generate_r1cs_equals_const_constraints(const typename field_type::value_type &el)
Definition: element_fp4.hpp:79
Definition: r1cs.hpp:60