algebra/include/nil/crypto3/algebra/curves/detail/scalar_mul.hpp File Reference
#include <nil/crypto3/algebra/type_traits.hpp>
#include <nil/crypto3/multiprecision/number.hpp>
#include <nil/crypto3/multiprecision/modular/modular_adaptor.hpp>
#include <cstdint>
+ Include dependency graph for algebra/include/nil/crypto3/algebra/curves/detail/scalar_mul.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
 
 nil::crypto3::algebra::curves
 
 nil::crypto3::algebra::curves::detail
 

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 nil::crypto3::algebra::curves::detail::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 nil::crypto3::algebra::curves::detail::operator* (const GroupValueType &left, const FieldValueType &right)
 
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)
 
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)
 
template<typename GroupValueType >
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* (const GroupValueType &left, const std::size_t &right)
 
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)
 
template<typename GroupValueType >
constexpr GroupValueType nil::crypto3::algebra::curves::detail::operator* (const std::size_t &left, const GroupValueType &right)
 
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)