nil::crypto3::algebra::curves::detail Namespace Reference

Classes

struct  alt_bn128_g1
 A struct representing a group G1 of Barreto-Naehrig curve. More...
 
struct  alt_bn128_g1_params
 
struct  alt_bn128_g1_params< 254, forms::short_weierstrass >
 
struct  alt_bn128_g2
 A struct representing a group G2 of Barreto-Naehrig curve. More...
 
struct  alt_bn128_g2_params
 
struct  alt_bn128_g2_params< 254, forms::short_weierstrass >
 
struct  alt_bn128_params
 
struct  alt_bn128_params< 254, forms::short_weierstrass >
 
struct  alt_bn128_types
 A struct representing details about base and scalar fields. More...
 
struct  babyjubjub_g1
 A struct representing a group G1 of BabyJubJub curve. More...
 
struct  babyjubjub_g1_params
 
struct  babyjubjub_g1_params< forms::montgomery >
 
struct  babyjubjub_g1_params< forms::twisted_edwards >
 
struct  babyjubjub_params
 
struct  babyjubjub_params< forms::montgomery >
 
struct  babyjubjub_params< forms::twisted_edwards >
 
struct  babyjubjub_types
 A struct representing details about base and scalar fields of the size 183 bits and 181 bits respectively. Corresponds to BabyJubJub twisted Edwards elliptic curve defined over alt_bn128 scalar field and described by equation ax^2. More...
 
struct  bls12_g1
 A struct representing a group G1 of BLS12 curve. More...
 
struct  bls12_g1_params
 
struct  bls12_g1_params< 377, forms::short_weierstrass >
 
struct  bls12_g1_params< 381, forms::short_weierstrass >
 
struct  bls12_g2
 A struct representing a group G2 of BLS12 curve. More...
 
struct  bls12_g2_params
 
struct  bls12_g2_params< 377, forms::short_weierstrass >
 
struct  bls12_g2_params< 381, forms::short_weierstrass >
 
struct  bls12_params
 
struct  bls12_params< 377, forms::short_weierstrass >
 
struct  bls12_params< 381, forms::short_weierstrass >
 
struct  bls12_types
 A struct representing details about base and scalar fields. More...
 
struct  curve25519_g1
 A struct representing a group G1 of curve25519 curve. More...
 
struct  curve25519_g1_params
 
struct  curve25519_g1_params< forms::montgomery >
 
struct  curve25519_g1_params< forms::twisted_edwards >
 
struct  curve25519_params
 
struct  curve25519_params< forms::montgomery >
 https://neuromancer.sk/std/other/Curve25519# More...
 
struct  curve25519_params< forms::twisted_edwards >
 https://neuromancer.sk/std/other/Ed25519# More...
 
struct  curve25519_types
 A struct representing details about base and scalar fields. More...
 
struct  curve_element
 A struct representing a group G1 of elliptic curve. More...
 
struct  curve_element< CurveParams, forms::edwards, coordinates::inverted >
 A struct representing an element from the group G1 of Edwards curve of inverted coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html. More...
 
struct  curve_element< CurveParams, forms::montgomery, coordinates::affine >
 A struct representing an element from the group G1 of Montgomery curve of affine coordinates representation. Description: https://hyperelliptic.org/EFD/g1p/auto-montgom.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::affine >
 A struct representing an element from the group G1 of short Weierstrass curve of affine coordinates representation. Description: https://hyperelliptic.org/EFD/g1p/auto-shortw.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::jacobian >
 A struct representing an element from the group G1 of short Weierstrass curve of jacobian coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::jacobian_with_a4_0 >
 A struct representing an element from the group G1 of short Weierstrass curve of jacobian_with_a4_0 coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::jacobian_with_a4_minus_3 >
 A struct representing an element from the group G1 of short Weierstrass curve of jacobian_with_a4_minus_3 coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::projective >
 A struct representing an element from the group G1 of short Weierstrass curve of projective coordinates representation. Description: https://hyperelliptic.org/EFD/g1p/auto-shortw-projective.html. More...
 
struct  curve_element< CurveParams, forms::short_weierstrass, coordinates::projective_with_a4_minus_3 >
 A struct representing an element from the group G1 of short Weierstrass curve of projective_with_a4_minus_3 coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective-3.html. More...
 
struct  curve_element< CurveParams, forms::twisted_edwards, coordinates::affine >
 A struct representing an element from the group G1 of twisted Edwards curve of affine coordinates representation. Twisted Edwards curves introduced on https://eprint.iacr.org/2008/013.pdf Description: https://hyperelliptic.org/EFD/g1p/auto-twisted.html. More...
 
struct  curve_element< CurveParams, forms::twisted_edwards, coordinates::extended_with_a_minus_1 >
 A struct representing an element from the group G1 of twisted Edwards curve of extended coordinates with a=-1 coordinates representation. Description: https://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html. More...
 
struct  curve_element< CurveParams, forms::twisted_edwards, coordinates::inverted >
 A struct representing an element from the group G1 of twisted Edwards curve of inverted coordinates representation. Description: http://www.hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html. More...
 
struct  edwards_basic_policy
 A struct representing details about base and scalar fields. More...
 
struct  edwards_basic_policy< 183 >
 A struct representing details about base and scalar fields of the size 183 bits and 181 bits respectively. More...
 
struct  edwards_element_g1_inverted_add_2007_bl
 A struct representing element addition from the group G1 of Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html#addition-add-2007-bl. More...
 
struct  edwards_element_g1_inverted_dbl_2007_bl
 A struct representing element doubling from the group G1 of Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html#doubling-dbl-2007-bl. More...
 
struct  edwards_element_g1_inverted_madd_2007_bl
 A struct representing element addition from the group G1 of Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-edwards-inverted.html#addition-madd-2007-bl. More...
 
struct  edwards_g1
 A struct representing a group G1 of Edwards curve. More...
 
struct  edwards_g1_params
 
struct  edwards_g1_params< 183, forms::edwards >
 
struct  edwards_g1_params< 183, forms::twisted_edwards >
 
struct  edwards_g2
 A struct representing a group G2 of Edwards curve. More...
 
struct  edwards_g2_params
 
struct  edwards_g2_params< 183, forms::edwards >
 
struct  edwards_g2_params< 183, forms::twisted_edwards >
 
struct  edwards_params
 
struct  edwards_params< 183, forms::edwards >
 
struct  edwards_params< 183, forms::twisted_edwards >
 
struct  edwards_types
 A struct representing details about base and scalar fields. More...
 
struct  element_edwards_g2
 A struct representing an element from the group G2 of Edwards curve. More...
 
struct  element_edwards_g2< 183 >
 A struct representing an elememnt from the group G2 of Edwards curve. More...
 
struct  ep2_map
 
struct  ep_map
 
class  expand_message_xmd
 
struct  h2c_suite
 
struct  h2c_suite< typename bls12_381::g1_type<> >
 
struct  h2c_suite< typename bls12_381::g2_type<> >
 
struct  iso_map
 
class  iso_map< typename bls12_381::g1_type<> >
 
class  iso_map< typename bls12_381::g2_type<> >
 
struct  jubjub_g1
 A struct representing a group G1 of JubJub curve. More...
 
struct  jubjub_g1_params
 
struct  jubjub_g1_params< forms::montgomery >
 
struct  jubjub_g1_params< forms::twisted_edwards >
 
struct  jubjub_params
 
struct  jubjub_params< forms::montgomery >
 
struct  jubjub_params< forms::twisted_edwards >
 
struct  jubjub_types
 A struct representing details about base and scalar fields of the corresponding size 183 bits and 181 bits respectively. Corresponds to JubJub twisted Edwards elliptic curve defined over Bls12-381 scalar field and described by equation ax^2. More...
 
struct  m2c_simple_swu
 
struct  m2c_simple_swu_zeroAB
 
struct  map_to_curve
 
struct  map_to_curve< typename bls12_381::g1_type<> >
 
struct  map_to_curve< typename bls12_381::g2_type<> >
 
struct  mnt4_g1
 A struct representing a group G1 of mnt4 curve. More...
 
struct  mnt4_g1_params
 
struct  mnt4_g1_params< 298, forms::short_weierstrass >
 
struct  mnt4_g2
 A struct representing a group G2 of mnt4 curve. More...
 
struct  mnt4_g2_params
 
struct  mnt4_g2_params< 298, forms::short_weierstrass >
 
struct  mnt4_params
 
struct  mnt4_params< 298, forms::short_weierstrass >
 
struct  mnt4_types
 A struct representing details about base and scalar fields. More...
 
struct  mnt6_g1
 A struct representing a group G1 of mnt6 curve. More...
 
struct  mnt6_g1_params
 
struct  mnt6_g1_params< 298, forms::short_weierstrass >
 
struct  mnt6_g2
 A struct representing a group G2 of mnt6 curve. More...
 
struct  mnt6_g2_params
 
struct  mnt6_g2_params< 298, forms::short_weierstrass >
 
struct  mnt6_params
 
struct  mnt6_params< 298, forms::short_weierstrass >
 
struct  mnt6_types
 A struct representing details about base and scalar fields. More...
 
struct  pairing_params
 
struct  pairing_params< edwards< 183 > >
 
struct  pallas_g1
 A struct representing a group G1 of pallas curve. More...
 
struct  pallas_g1_params
 
struct  pallas_g1_params< forms::short_weierstrass >
 
struct  pallas_params
 
struct  pallas_params< forms::short_weierstrass >
 https://zips.z.cash/protocol/protocol.pdf#pallasandvesta More...
 
struct  pallas_types
 A struct representing details about base and scalar fields. More...
 
struct  secp_k1_g1
 A struct representing a group G1 of SECP curves. More...
 
struct  secp_k1_g1_params
 
struct  secp_k1_g1_params< 160, forms::short_weierstrass >
 
struct  secp_k1_g1_params< 192, forms::short_weierstrass >
 
struct  secp_k1_g1_params< 224, forms::short_weierstrass >
 
struct  secp_k1_g1_params< 256, forms::short_weierstrass >
 
struct  secp_k1_params
 
struct  secp_k1_params< 160, forms::short_weierstrass >
 
struct  secp_k1_params< 192, forms::short_weierstrass >
 
struct  secp_k1_params< 224, forms::short_weierstrass >
 
struct  secp_k1_params< 256, forms::short_weierstrass >
 
struct  secp_k1_types
 A struct representing details about base and scalar fields. More...
 
struct  secp_r1_g1
 A struct representing a group G1 of SECP curves. More...
 
struct  secp_r1_g1_params
 
struct  secp_r1_g1_params< 160, forms::short_weierstrass >
 
struct  secp_r1_g1_params< 192, forms::short_weierstrass >
 
struct  secp_r1_g1_params< 224, forms::short_weierstrass >
 
struct  secp_r1_g1_params< 256, forms::short_weierstrass >
 
struct  secp_r1_g1_params< 384, forms::short_weierstrass >
 
struct  secp_r1_g1_params< 521, forms::short_weierstrass >
 
struct  secp_r1_params
 
struct  secp_r1_params< 160, forms::short_weierstrass >
 
struct  secp_r1_params< 192, forms::short_weierstrass >
 
struct  secp_r1_params< 224, forms::short_weierstrass >
 
struct  secp_r1_params< 256, forms::short_weierstrass >
 
struct  secp_r1_params< 384, forms::short_weierstrass >
 
struct  secp_r1_params< 521, forms::short_weierstrass >
 
struct  secp_r1_types
 A struct representing details about base and scalar fields. More...
 
struct  short_weierstrass_element_g1_jacobian_add_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian_ coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html#addition-add-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_dbl_2007_bl
 A struct representing element doubling from the group G1 of short Weierstrass curve for jacobian_ coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html#doubling-dbl-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_madd_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html#addition-madd-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_0_add_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian_with_a4_0 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#addition-add-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_0_dbl_2009_l
 A struct representing element doubling from the group G1 of short Weierstrass curve for jacobian_with_a4_0 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#doubling-dbl-2009-l. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_0_madd_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian_with_a4_0 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#addition-madd-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_minus_3_add_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian_with_a4_minus_3 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#addition-add-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_minus_3_dbl_2007_bl
 A struct representing element doubling from the group G1 of short Weierstrass curve for jacobian_with_a4_minus_3 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html#addition-madd-2007-bl. More...
 
struct  short_weierstrass_element_g1_jacobian_with_a4_minus_3_madd_2007_bl
 A struct representing element addition from the group G1 of short Weierstrass curve for jacobian_with_a4_minus_3 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#addition-madd-2007-bl. More...
 
struct  short_weierstrass_element_g1_projective_add_1998_cmo_2
 A struct representing element addition from the group G1 of short Weierstrass curve for projective coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective.html#addition-add-1998-cmo-2. More...
 
struct  short_weierstrass_element_g1_projective_dbl_2007_bl
 A struct representing element doubling from the group G1 of short Weierstrass curve for projective coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective.html#doubling-dbl-2007-bl. More...
 
struct  short_weierstrass_element_g1_projective_with_a4_minus_3_add_1998_cmo_2
 A struct representing element addition from the group G1 of short Weierstrass curve for projective_with_a4_minus_3 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective-3.html#addition-add-1998-cmo-2. More...
 
struct  short_weierstrass_element_g1_projective_with_a4_minus_3_dbl_2007_bl
 A struct representing element doubling from the group G1 of short Weierstrass curve for projective_with_a4_minus_3 coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-shortw-projective-3.html#doubling-dbl-2007-bl. More...
 
struct  twisted_edwards_element_g1_extended_with_a_minus_1_add_2008_hwcd_3
 A struct representing element addition from the group G1 of twisted Edwards curve for extended coordinates with a=-1 representation. https://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#addition-add-2008-hwcd-3 https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.4. More...
 
struct  twisted_edwards_element_g1_extended_with_a_minus_1_dbl_2008_hwcd
 A struct representing element doubling from the group G1 of twisted Edwards curve for extended coordinates with a=-1 representation. https://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#doubling-dbl-2008-hwcd https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.4. More...
 
struct  twisted_edwards_element_g1_extended_with_a_minus_1_madd_2008_hwcd_2
 A struct representing element addition from the group G1 of twisted Edwards curve for extended coordinates with a=-1 representation. https://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#addition-madd-2008-hwcd-2. More...
 
struct  twisted_edwards_element_g1_inverted_add_2008_bbjlp
 A struct representing element addition from the group G1 of twisted Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-twisted-inverted.html#addition-add-2008-bbjlp. More...
 
struct  twisted_edwards_element_g1_inverted_dbl_2008_bbjlp
 A struct representing element doubling from the group G1 of twisted Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-twisted-inverted.html#doubling-dbl-2008-bbjlp. More...
 
struct  twisted_edwards_element_g1_inverted_madd_2008_bbjlp
 A struct representing element addition from the group G1 of twisted Edwards curve for inversed coordinates representation. NOTE: does not handle O and pts of order 2,4 http://www.hyperelliptic.org/EFD/g1p/auto-twisted-inverted.html#addition-madd-2008-bbjlp. More...
 
struct  vesta_g1
 A struct representing a group G1 of vesta curve. More...
 
struct  vesta_g1_params
 
struct  vesta_g1_params< forms::short_weierstrass >
 
struct  vesta_params
 
struct  vesta_params< forms::short_weierstrass >
 https://zips.z.cash/protocol/protocol.pdf#pallasandvesta More...
 
struct  vesta_types
 A struct representing details about base and scalar fields. More...
 

Functions

template<typename GroupValueType , typename FieldValueType >
std::enable_if< is_curve_group< typename GroupValueType::group_type >::value &&!is_field< typename GroupValueType::group_type >::value &&is_field< typename FieldValueType::field_type >::value &&!is_extended_field< typename FieldValueType::field_type >::value, GroupValueType >::type operator* (const FieldValueType &left, const GroupValueType &right)
 
template<typename GroupValueType , typename FieldValueType >
std::enable_if< is_curve_group< typename GroupValueType::group_type >::value &&!is_field< typename GroupValueType::group_type >::value &&is_field< typename FieldValueType::field_type >::value &&!is_extended_field< typename FieldValueType::field_type >::value, GroupValueType >::type operator* (const GroupValueType &left, const FieldValueType &right)
 
template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType operator* (const GroupValueType &left, const multiprecision::number< Backend, ExpressionTemplates > &right)
 
template<typename GroupValueType , typename Backend , typename SafeType , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType operator* (const GroupValueType &left, const multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor< Backend, SafeType >, ExpressionTemplates > &right)
 
template<typename GroupValueType >
constexpr GroupValueType operator* (const GroupValueType &left, const std::size_t &right)
 
template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType operator* (const multiprecision::number< Backend, ExpressionTemplates > &left, const GroupValueType &right)
 
template<typename GroupValueType >
constexpr GroupValueType operator* (const std::size_t &left, const GroupValueType &right)
 
template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType scalar_mul (const GroupValueType &base, const multiprecision::number< Backend, ExpressionTemplates > &scalar)
 
template<typename FieldParams >
bool sgn0 (const element_fp2< FieldParams > &e)
 
template<typename FieldParams >
bool sgn0 (const element_fp< FieldParams > &e)
 
template<typename GroupValueType , typename = typename std::enable_if< is_curve_group<typename GroupValueType::group_type>::value && !is_field<typename GroupValueType::group_type>::value>::type>
bool subgroup_check (const GroupValueType &p)
 

Function Documentation

◆ operator*() [1/7]

template<typename GroupValueType , typename FieldValueType >
std::enable_if<is_curve_group<typename GroupValueType::group_type>::value && !is_field<typename GroupValueType::group_type>::value && is_field<typename FieldValueType::field_type>::value && !is_extended_field<typename FieldValueType::field_type>::value, GroupValueType>::type nil::crypto3::algebra::curves::detail::operator* ( const FieldValueType &  left,
const GroupValueType &  right 
)

◆ operator*() [2/7]

template<typename GroupValueType , typename FieldValueType >
std::enable_if<is_curve_group<typename GroupValueType::group_type>::value && !is_field<typename GroupValueType::group_type>::value && is_field<typename FieldValueType::field_type>::value && !is_extended_field<typename FieldValueType::field_type>::value, GroupValueType>::type nil::crypto3::algebra::curves::detail::operator* ( const GroupValueType &  left,
const FieldValueType &  right 
)

◆ operator*() [3/7]

template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* ( const GroupValueType &  left,
const multiprecision::number< Backend, ExpressionTemplates > &  right 
)
constexpr

◆ operator*() [4/7]

template<typename GroupValueType , typename Backend , typename SafeType , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* ( const GroupValueType &  left,
const multiprecision::number< nil::crypto3::multiprecision::backends::modular_adaptor< Backend, SafeType >, ExpressionTemplates > &  right 
)
constexpr

◆ operator*() [5/7]

template<typename GroupValueType >
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* ( const GroupValueType &  left,
const std::size_t &  right 
)
constexpr

◆ operator*() [6/7]

template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* ( const multiprecision::number< Backend, ExpressionTemplates > &  left,
const GroupValueType &  right 
)
constexpr

◆ operator*() [7/7]

template<typename GroupValueType >
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* ( const std::size_t &  left,
const GroupValueType &  right 
)
constexpr

◆ scalar_mul()

template<typename GroupValueType , typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr GroupValueType nil::crypto3::algebra::curves::detail::scalar_mul ( const GroupValueType &  base,
const multiprecision::number< Backend, ExpressionTemplates > &  scalar 
)
constexpr

◆ sgn0() [1/2]

template<typename FieldParams >
bool nil::crypto3::algebra::curves::detail::sgn0 ( const element_fp2< FieldParams > &  e)
inline

◆ sgn0() [2/2]

template<typename FieldParams >
bool nil::crypto3::algebra::curves::detail::sgn0 ( const element_fp< FieldParams > &  e)
inline

◆ subgroup_check()

template<typename GroupValueType , typename = typename std::enable_if< is_curve_group<typename GroupValueType::group_type>::value && !is_field<typename GroupValueType::group_type>::value>::type>
bool nil::crypto3::algebra::curves::detail::subgroup_check ( const GroupValueType &  p)