blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp
Go to the documentation of this file.
76 template<typename Backend, typename multiprecision::expression_template_option ExpressionTemplates>
Definition: blueprint.hpp:46
Definition: component.hpp:37
blueprint< FpkT::base_field_type > & bp
Definition: component.hpp:39
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:56
FpkT::base_field_type FieldType
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:58
void generate_r1cs_constraints()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:158
std::size_t add_count
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:72
Fpk_variableT< FpkT > result
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:69
std::size_t dbl_count
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:74
std::vector< long > NAF
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:60
integral_type power
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:68
std::vector< std::shared_ptr< Fpk_mul_componentT< FpkT > > > addition_steps
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:63
std::vector< std::shared_ptr< Fpk_sqr_componentT< FpkT > > > doubling_steps
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:65
std::size_t sub_count
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:73
void generate_r1cs_witness()
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:171
exponentiation_component(blueprint< FieldType > &bp, const Fpk_variableT< FpkT > &elt, const multiprecision::number< Backend, ExpressionTemplates > &power, const Fpk_variableT< FpkT > &result)
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:77
Fpk_variableT< FpkT > elt
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:67
NumberType integral_type
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:59
std::vector< std::shared_ptr< Fpk_variableT< FpkT > > > intermediate
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:62
std::size_t intermed_count
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:71
std::vector< std::shared_ptr< Fpk_mul_componentT< FpkT > > > subtraction_steps
Definition: blueprint/include/nil/crypto3/zk/components/algebra/fields/exponentiation.hpp:64
Definition: pair.hpp:31