random_element.hpp File Reference
#include <nil/crypto3/algebra/type_traits.hpp>
#include <nil/crypto3/multiprecision/debug_adaptor.hpp>
#include <nil/crypto3/multiprecision/cpp_bin_float.hpp>
#include <nil/crypto3/multiprecision/cpp_int.hpp>
#include <boost/core/ignore_unused.hpp>
#include <boost/random/independent_bits.hpp>
#include <boost/random/discard_block.hpp>
#include <boost/random/xor_combine.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/random_number_generator.hpp>
#include <boost/random/uniform_int.hpp>
#include <boost/random/uniform_smallint.hpp>
#include <boost/random/discrete_distribution.hpp>
#include <boost/random/random_device.hpp>
#include <random>
+ Include dependency graph for random_element.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::algebra
 

Functions

template<typename FieldType , typename DistributionType = boost::random::uniform_int_distribution<typename FieldType::integral_type>, typename GeneratorType = boost::random::mt19937>
std::enable_if< is_field< FieldType >::value &&!(is_extended_field< FieldType >::value), typename FieldType::value_type >::type nil::crypto3::algebra::random_element ()
 
template<typename FieldType , typename DistributionType = boost::random::uniform_int_distribution<typename FieldType::integral_type>, typename GeneratorType = boost::random::mt19937>
std::enable_if< is_field< FieldType >::value &&is_extended_field< FieldType >::value, typename FieldType::value_type >::type nil::crypto3::algebra::random_element ()
 
template<typename CurveGroupType , typename DistributionType = boost::random::uniform_int_distribution<typename CurveGroupType::field_type::integral_type>, typename GeneratorType = boost::random::mt19937>
std::enable_if< is_curve_group< CurveGroupType >::value, typename CurveGroupType::value_type >::type nil::crypto3::algebra::random_element ()