|
Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
#include "libff/algebra/curves/alt_bn128/alt_bn128_pp.hpp"#include "libff/algebra/curves/curve_serialization.hpp"#include "libff/algebra/scalar_multiplication/multiexp.hpp"#include "libff/algebra/scalar_multiplication/multiexp_stream.hpp"#include "libff/common/profiling.hpp"#include "libff/common/rng.hpp"#include <cstdio>#include <fstream>#include <sys/stat.h>#include <vector>
Go to the source code of this file.
Typedefs | |
| template<typename GroupT > | |
| using | run_result_t = std::pair< long long, GroupT > |
| template<typename T > | |
| using | test_instances_t = std::vector< T > |
Functions | |
| template<typename GroupT > | |
| test_instances_t< GroupT > | generate_group_elements (size_t num_elements) |
| template<typename FieldT > | |
| test_instances_t< FieldT > | generate_scalars (size_t num_elements) |
| template<form_t Form, compression_t Comp> | |
| std::string | base_elements_filename (const std::string &tag, const size_t num_elements, const size_t precompute_c=0) |
| template<form_t Form, compression_t Comp, typename GroupT > | |
| void | create_base_element_file_for_config (const std::string &tag, const test_instances_t< GroupT > &base_elements) |
| template<form_t Form, compression_t Comp, typename GroupT > | |
| void | create_precompute_file_for_config (const std::string &tag, const test_instances_t< GroupT > &base_elements) |
| template<typename GroupT > | |
| void | create_base_element_files (const std::string &tag, const size_t num_elements) |
| template<typename GroupT > | |
| test_instances_t< GroupT > | read_group_elements (const std::string &tag, const size_t num_elements) |
| template<typename GroupT , typename FieldT , multi_exp_method Method, multi_exp_base_form BaseForm = multi_exp_base_form_normal> | |
| run_result_t< GroupT > | profile_multiexp (test_instances_t< GroupT > group_elements, test_instances_t< FieldT > scalars) |
| template<form_t Form, compression_t Comp, typename GroupT , typename FieldT > | |
| run_result_t< GroupT > | profile_multiexp_stream (const std::string &tag, const std::vector< FieldT > &scalars) |
| template<form_t Form, compression_t Comp, typename GroupT , typename FieldT > | |
| run_result_t< GroupT > | profile_multiexp_stream_with_precompute (const std::string &tag, const std::vector< FieldT > &scalars) |
| template<typename GroupT , typename FieldT > | |
| void | print_performance_csv (const std::string &tag, size_t expn_start, size_t expn_end_fast, size_t expn_end_naive, bool compare_answers) |
| int | main (void) |
Variables | |
| constexpr size_t | NUM_ITERATIONS = 10 |
| constexpr size_t | NUM_DIFFERENT_ELEMENTS = 32 |
| constexpr form_t | FORM = form_montgomery |
| constexpr compression_t | COMP = compression_off |
| using run_result_t = std::pair<long long, GroupT> |
Definition at line 20 of file profile_multiexp.cpp.
| using test_instances_t = std::vector<T> |
Definition at line 22 of file profile_multiexp.cpp.
| std::string base_elements_filename | ( | const std::string & | tag, |
| const size_t | num_elements, | ||
| const size_t | precompute_c = 0 |
||
| ) |
Definition at line 87 of file profile_multiexp.cpp.
| void create_base_element_file_for_config | ( | const std::string & | tag, |
| const test_instances_t< GroupT > & | base_elements | ||
| ) |
Definition at line 101 of file profile_multiexp.cpp.
| void create_base_element_files | ( | const std::string & | tag, |
| const size_t | num_elements | ||
| ) |
Definition at line 153 of file profile_multiexp.cpp.
| void create_precompute_file_for_config | ( | const std::string & | tag, |
| const test_instances_t< GroupT > & | base_elements | ||
| ) |
Definition at line 121 of file profile_multiexp.cpp.
| test_instances_t<GroupT> generate_group_elements | ( | size_t | num_elements | ) |
Definition at line 25 of file profile_multiexp.cpp.
| test_instances_t<FieldT> generate_scalars | ( | size_t | num_elements | ) |
Definition at line 53 of file profile_multiexp.cpp.
| int main | ( | void | ) |
| void print_performance_csv | ( | const std::string & | tag, |
| size_t | expn_start, | ||
| size_t | expn_end_fast, | ||
| size_t | expn_end_naive, | ||
| bool | compare_answers | ||
| ) |
| run_result_t<GroupT> profile_multiexp | ( | test_instances_t< GroupT > | group_elements, |
| test_instances_t< FieldT > | scalars | ||
| ) |
Definition at line 189 of file profile_multiexp.cpp.


| run_result_t<GroupT> profile_multiexp_stream | ( | const std::string & | tag, |
| const std::vector< FieldT > & | scalars | ||
| ) |
| run_result_t<GroupT> profile_multiexp_stream_with_precompute | ( | const std::string & | tag, |
| const std::vector< FieldT > & | scalars | ||
| ) |
| test_instances_t<GroupT> read_group_elements | ( | const std::string & | tag, |
| const size_t | num_elements | ||
| ) |
Definition at line 163 of file profile_multiexp.cpp.
|
constexpr |
Definition at line 18 of file profile_multiexp.cpp.
|
constexpr |
Definition at line 17 of file profile_multiexp.cpp.
|
constexpr |
Definition at line 15 of file profile_multiexp.cpp.
|
constexpr |
Definition at line 14 of file profile_multiexp.cpp.
1.8.17