nil::crypto3::zk::components::scalar_mul< CurveType > Class Template Reference
#include <scalar_mul.hpp>
Inheritance diagram for nil::crypto3::zk::components::scalar_mul< CurveType >:
Collaboration diagram for nil::crypto3::zk::components::scalar_mul< CurveType >:
Public Member Functions | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
scalar_mul (blueprint< FieldType > &bp, const element_g1< CurveType > &base, const blueprint_variable_vector< FieldType > &scalars, const std::size_t elt_size, const std::vector< element_g1< CurveType >> &points, const element_g1< CurveType > &result) | |
Public Attributes | |
std::vector< element_g1_add< CurveType > > | adders |
element_g1< CurveType > | base |
std::vector< element_g1< CurveType > > | chosen_results |
std::vector< element_g1< CurveType > > | computed_results |
std::vector< element_g1_doubled< CurveType > > | doublers |
const std::size_t | elt_size |
const std::size_t | num_points |
std::vector< element_g1< CurveType > > | points |
std::vector< element_g1< CurveType > > | points_and_powers |
element_g1< CurveType > | result |
const std::size_t | scalar_size |
blueprint_variable_vector< FieldType > | scalars |
Protected Attributes | |
blueprint< CurveType::scalar_field_type > & | bp |
Detailed Description
template<typename CurveType>
class nil::crypto3::zk::components::scalar_mul< CurveType >
Component that creates constraints for G1 multi-scalar multiplication.
Constructor & Destructor Documentation
◆ scalar_mul()
template<typename CurveType >
|
inline |
Member Function Documentation
◆ generate_r1cs_constraints()
template<typename CurveType >
|
inline |
◆ generate_r1cs_witness()
template<typename CurveType >
|
inline |
Member Data Documentation
◆ adders
template<typename CurveType >
std::vector<element_g1_add<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::adders |
◆ base
template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::scalar_mul< CurveType >::base |
◆ bp
|
protectedinherited |
◆ chosen_results
template<typename CurveType >
std::vector<element_g1<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::chosen_results |
◆ computed_results
template<typename CurveType >
std::vector<element_g1<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::computed_results |
◆ doublers
template<typename CurveType >
std::vector<element_g1_doubled<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::doublers |
◆ elt_size
template<typename CurveType >
const std::size_t nil::crypto3::zk::components::scalar_mul< CurveType >::elt_size |
◆ num_points
template<typename CurveType >
const std::size_t nil::crypto3::zk::components::scalar_mul< CurveType >::num_points |
◆ points
template<typename CurveType >
std::vector<element_g1<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::points |
◆ points_and_powers
template<typename CurveType >
std::vector<element_g1<CurveType> > nil::crypto3::zk::components::scalar_mul< CurveType >::points_and_powers |
◆ result
template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::scalar_mul< CurveType >::result |
◆ scalar_size
template<typename CurveType >
const std::size_t nil::crypto3::zk::components::scalar_mul< CurveType >::scalar_size |
◆ scalars
template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::scalar_mul< CurveType >::scalars |
The documentation for this class was generated from the following file: