(
size_ti = strlen(number_str); i > 0; i--) {
56 chara = number_str[i - 1] -
'0';
66std::cout <<
"------ Checking `large_number` class implementations\t" 72std::cerr <<
"\tFailed 1/6 ("<< a <<
"!=400)"<< std::endl;
75std::cout <<
"\tPassed 1/6...";
79std::cerr <<
"\tFailed 2/6 ("<< a <<
"!=520)"<< std::endl;
82std::cout <<
"\tPassed 2/6...";
86std::cerr <<
"\tFailed 3/6 ("<< a <<
"!=5200)"<< std::endl;
89std::cout <<
"\tPassed 3/6...";
93std::cerr <<
"\tFailed 4/6 ("<< a <<
"!=5201)"<< std::endl;
96std::cout <<
"\tPassed 4/6...";
100std::cerr <<
"\tFailed 5/6 ("<< a <<
"!=5202)"<< std::endl;
103std::cout <<
"\tPassed 5/6...";
105a = a +
large_number(
"7000000000000000000000000000000");
106 if(a !=
large_number(
"7000000000000000000000000005202")) {
107std::cerr <<
"\tFailed 6/6 ("<< a
108<<
"!=7000000000000000000000000005202)"<< std::endl;
111std::cout <<
"\tPassed 6/6..."<< std::endl;
120std::cerr <<
"digit > 9!!\n";
139 inline const unsigned char&
operator[](
size_tn)
const{
147 for(
size_ti = a.num_digits(); i > 0; i--)
148out << static_cast<int>(a[i - 1]);
156 size_tN = a.num_digits();
159 for(
size_ti = 0; i < N; i++)
196 unsigned intcarry = 0;
198 for(i = 0; i < max_L || carry != 0; i++) {
204(*this)[i] = carry % 10;
239 static_assert(std::is_integral<T>::value,
240 "Must be integer addition unsigned integer types.");
259 static_assert(std::is_integral<T>::value,
260 "Can only have integer types.");
265uint64_t carry = 0, temp;
267temp =
static_cast<uint64_t
>((*this)[i]) * n;
284std::vector<unsigned char>
large_number(const large_number &a)
friend std::ostream & operator<<(std::ostream &out, const large_number &a)
large_number & operator++()
void add_digit(unsigned int value)
friend bool operator!=(large_number const &a, large_number const &b)
large_number(std::vector< unsigned char > &vec)
large_number & operator*=(const T n)
friend bool operator==(large_number const &a, large_number const &b)
unsigned char & operator[](size_t n)
large_number & operator++(int)
large_number & operator+=(large_number n)
large_number & operator=(const large_number &b)
friend large_number & operator+(const large_number &a, const T &b)
size_t num_digits() const
char digit_char(size_t i) const
std::vector< unsigned char > _digits
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4