nil::crypto3::algebra::curves::detail::bls12_types< Version > Struct Template Reference

A struct representing details about base and scalar fields. More...

#include <types.hpp>

+ Collaboration diagram for nil::crypto3::algebra::curves::detail::bls12_types< Version >:

Public Types

using base_field_type = fields::bls12_base_field< Version >
 
using g1_field_type = base_field_type
 
template<typename Form , typename Coordinates >
using g1_type = bls12_g1< Version, Form, Coordinates >
 
using g2_field_type = typename fields::fp2< base_field_type >
 
template<typename Form , typename Coordinates >
using g2_type = bls12_g2< Version, Form, Coordinates >
 
using gt_field_type = typename fields::fp12_2over3over2< base_field_type >
 
using integral_type = typename base_field_type::integral_type
 
using scalar_field_type = fields::bls12_scalar_field< Version >
 

Detailed Description

template<std::size_t Version>
struct nil::crypto3::algebra::curves::detail::bls12_types< Version >

A struct representing details about base and scalar fields.

Template Parameters
Versionversion of the curve

Member Typedef Documentation

◆ base_field_type

template<std::size_t Version>
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::base_field_type = fields::bls12_base_field<Version>

◆ g1_field_type

template<std::size_t Version>
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::g1_field_type = base_field_type

◆ g1_type

template<std::size_t Version>
template<typename Form , typename Coordinates >
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::g1_type = bls12_g1<Version, Form, Coordinates>

◆ g2_field_type

template<std::size_t Version>
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::g2_field_type = typename fields::fp2<base_field_type>

◆ g2_type

template<std::size_t Version>
template<typename Form , typename Coordinates >
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::g2_type = bls12_g2<Version, Form, Coordinates>

◆ gt_field_type

◆ integral_type

template<std::size_t Version>
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::integral_type = typename base_field_type::integral_type

◆ scalar_field_type

template<std::size_t Version>
using nil::crypto3::algebra::curves::detail::bls12_types< Version >::scalar_field_type = fields::bls12_scalar_field<Version>

The documentation for this struct was generated from the following file: