31#ifndef ETL_GDC_INCLUDED
32#define ETL_GDC_INCLUDED
36#include "static_assert.h"
44 template <
intmax_t A,
intmax_t B>
64 gcd(
T a,
T b) ETL_NOEXCEPT
68 if ((a == 0 ||
b == 0))
91 gcd(
T a,
T b) ETL_NOEXCEPT
97 utype ua = etl::absolute_unsigned(a);
98 utype ub = etl::absolute_unsigned(
b);
100 return static_cast<T>(gcd(
ua,
ub));
104 #if ETL_HAS_INITIALIZER_LIST
110 template<
typename T,
typename...
TRest>
117 for (
T value : {
rest...})
119 result = gcd(result, value);
137 template<
typename T,
typename...
TRest>
enable_if
Definition type_traits_generator.h:1230
is_integral
Definition type_traits_generator.h:1040
make_unsigned
Definition type_traits_generator.h:1220
bitset_ext
Definition absolute.h:38
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:314