Constructor from a regular ulong
Mutates current number in-place, dividing it by rhs and calculating remainder.
Mutates this number in place multiplying it by a regular integer
Enables assignment from a plain integer type
Enables ordering comparison with WideUInt of the same size
Enables equality comparison with a plain integer type
Enables equality comparison with WideUInt of the same size
Increment current value by one fitting in uint
Inefficient allocating string conversion useful for tests and prototyping.
Sink based string conversion
amount of uint-size words to use as a backing storage for the number
WideUInt!(4) counter; counter = 10000000000000000000U; counter.multiplyBy(10); ++counter; test!("==")(counter.toString(), "100000000000000000001");
Struct emulating a large (bigger than ulong) non-negative integer of fixed range (defined via template argument). ulong but still fixed in size (defined via template argument).
Such struct is a value type with stable binary layout for a given size which is the primary goal of this implementation. Performance may be eventually improved if necessity arises, right now implementation is intentionally simplistic and naive.
Internally wide integer is represented by a static array of uint values such that concatenating their binary representation together results in long binary sequence representing actual stored number.