diff --git a/libs/algebra/include/nil/crypto3/algebra/type_traits.hpp b/libs/algebra/include/nil/crypto3/algebra/type_traits.hpp index 75dfcdc4e..c37c2470e 100644 --- a/libs/algebra/include/nil/crypto3/algebra/type_traits.hpp +++ b/libs/algebra/include/nil/crypto3/algebra/type_traits.hpp @@ -178,6 +178,12 @@ namespace nil { { a.pow(exponent) } -> std::same_as; }; + template + concept Field = is_field::value && requires { + typename T::value_type; + requires FieldValue; + }; + template concept FieldElementWithCoordinates = is_field_element::value && requires(T &value, const T &const_value, std::size_t index) {