Skip to content

Commit c5405a6

Browse files
authored
Allow construction from boolean value
1. Add construction from bool type
1 parent 8608963 commit c5405a6

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

include/long_uint.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
//
3131
////////////////////////////////////////////////////////////////////////////////////////////////////
3232
//
33-
// $Id:$
33+
// $Id: long_uint.h 146 2021-09-04 11:56:58Z ykalmykov $
3434
//
3535
////////////////////////////////////////////////////////////////////////////////////////////////////
3636

@@ -75,6 +75,7 @@ class long_uint_t
7575
constexpr long_uint_t(type_t value) noexcept;
7676
template<typename type_t, std::enable_if_t<std::is_signed_v<type_t>, int> = 0>
7777
constexpr long_uint_t(type_t value) noexcept;
78+
constexpr long_uint_t(bool value) noexcept;
7879

7980
////////////////////////////////////////////////////////////////////////////////////////////////
8081
// public methods
@@ -195,6 +196,15 @@ constexpr long_uint_t<native_t, size>::long_uint_t(type_t value) noexcept
195196
digits[n] = extension;
196197
}
197198

199+
template<typename native_t, uint_t size>
200+
constexpr long_uint_t<native_t, size>::long_uint_t(bool value) noexcept
201+
{
202+
digits[0] = value;
203+
204+
for (uint_t n = 1; n < std::size(digits); ++n)
205+
digits[n] = native_t(0);
206+
}
207+
198208

199209

200210
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -760,8 +770,6 @@ constexpr long_uint_t<native_t, size> operator%(type_t value1, const long_uint_t
760770
template<typename type_t, std::enable_if_t<is_unsigned_v<type_t>, int>>
761771
constexpr type_t muldiv(const type_t& value, const type_t& multiplier, const type_t& divider) noexcept
762772
{
763-
using long_uint_t = long_uint_t<type_t, 2>;
764-
765773
type_t mul_hi = 0;
766774
const type_t mul_lo = mulc(value, multiplier, mul_hi);
767775

0 commit comments

Comments
 (0)