1#ifndef EE840AA6_AA0C_4E9D_B58A_701AC4A267D0
2#define EE840AA6_AA0C_4E9D_B58A_701AC4A267D0
23 std::size_t& out_len);
120 std::string* report_out =
nullptr,
121 unsigned iterations = 5000,
123 unsigned max_w = 30);
132 unsigned iterations = 5000,
134 unsigned max_w = 30);
160 unsigned window_bits = 4);
bool load_precompute_cache(const std::string &path, unsigned max_windows=0)
Point scalar_mul_arbitrary_precomputed_optimized(const Point &Q, const PrecomputedScalarOptimized &precomp)
bool write_fixed_base_config(const std::string &path, const FixedBaseConfig &cfg)
std::vector< int32_t > compute_wnaf(const Scalar &scalar, unsigned window_bits)
bool configure_fixed_base_auto()
void ensure_fixed_base_ready()
void compute_wnaf_into(const Scalar &scalar, unsigned window_bits, int32_t *out, std::size_t max, std::size_t &out_len)
Point scalar_mul_arbitrary_precomputed_notable(const Point &Q, const PrecomputedScalarOptimized &precomp)
void(*)(size_t, size_t, unsigned, unsigned) ProgressCallback
Point scalar_mul_generator_glv_predecomposed(const Scalar &k1, const Scalar &k2, bool neg1, bool neg2)
Point scalar_mul_arbitrary_precomputed(const Point &Q, const PrecomputedScalar &precomp)
bool configure_fixed_base_from_file(const std::string &path)
void configure_fixed_base(const FixedBaseConfig &config)
bool load_fixed_base_config_file(const std::string &path, FixedBaseConfig &out)
bool ensure_fixed_base_config_file(const std::string &path)
bool auto_tune_and_write_config(const std::string &path, unsigned iterations=5000, unsigned min_w=2, unsigned max_w=30)
Point scalar_mul_generator(const Scalar &scalar)
PrecomputedScalarOptimized precompute_scalar_optimized(const Scalar &K, unsigned window_bits=4)
bool configure_fixed_base_from_env()
PrecomputedScalar precompute_scalar_for_arbitrary(const Scalar &K, unsigned window_bits=4)
bool auto_tune_fixed_base(FixedBaseConfig &best_out, std::string *report_out=nullptr, unsigned iterations=5000, unsigned min_w=2, unsigned max_w=30)
ScalarDecomposition split_scalar_glv(const Scalar &scalar)
bool write_default_fixed_base_config(const std::string &path)
Point multi_scalar_mul(const Scalar &k1, const Point &P, const Scalar &k2, const Point &Q, unsigned window_bits=4)
bool save_precompute_cache(const std::string &path)
Point scalar_mul_arbitrary(const Point &base, const Scalar &scalar, unsigned window_bits=5)
std::string bloom_filter_path
std::string autotune_log_path
ProgressCallback progress_callback
unsigned max_windows_to_load
unsigned glv_min_window_bits
std::vector< Step > steps
std::vector< int32_t > wnaf2
std::vector< int32_t > wnaf1