Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/bigint/BigUnsignedInABase.hh

Issue 754743003: Modify big integer library (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Add copyright notice Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code by Matt McCutchen, see the LICENSE file
6
1 #ifndef BIGUNSIGNEDINABASE_H 7 #ifndef BIGUNSIGNEDINABASE_H
2 #define BIGUNSIGNEDINABASE_H 8 #define BIGUNSIGNEDINABASE_H
3 9
4 #include "NumberlikeArray.hh" 10 #include "NumberlikeArray.hh"
5 #include "BigUnsigned.hh" 11 #include "BigUnsigned.hh"
6 #include <string> 12 #include <string>
7 13
8 /* 14 /*
9 * A BigUnsignedInABase object represents a nonnegative integer of size limited 15 * A BigUnsignedInABase object represents a nonnegative integer of size limited
10 * only by available memory, represented in a user-specified base that can fit 16 * only by available memory, represented in a user-specified base that can fit
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 */ 99 */
94 operator std::string() const; 100 operator std::string() const;
95 BigUnsignedInABase(const std::string &s, Base base); 101 BigUnsignedInABase(const std::string &s, Base base);
96 102
97 public: 103 public:
98 104
99 // ACCESSORS 105 // ACCESSORS
100 Base getBase() const { return base; } 106 Base getBase() const { return base; }
101 107
102 // Expose these from NumberlikeArray directly. 108 // Expose these from NumberlikeArray directly.
103 » NumberlikeArray<Digit>::getCapacity; 109 » using NumberlikeArray<Digit>::getCapacity;
104 » NumberlikeArray<Digit>::getLength; 110 » using NumberlikeArray<Digit>::getLength;
105 111
106 /* Returns the requested digit, or 0 if it is beyond the length (as if 112 /* Returns the requested digit, or 0 if it is beyond the length (as if
107 * the number had 0s infinitely to the left). */ 113 * the number had 0s infinitely to the left). */
108 Digit getDigit(Index i) const { return i >= len ? 0 : blk[i]; } 114 Digit getDigit(Index i) const { return i >= len ? 0 : blk[i]; }
109 115
110 // The number is zero if and only if the canonical length is zero. 116 // The number is zero if and only if the canonical length is zero.
111 bool isZero() const { return NumberlikeArray<Digit>::isEmpty(); } 117 bool isZero() const { return NumberlikeArray<Digit>::isEmpty(); }
112 118
113 /* Equality test. For the purposes of this test, two BigUnsignedInABase 119 /* Equality test. For the purposes of this test, two BigUnsignedInABase
114 * values must have the same base to be equal. */ 120 * values must have the same base to be equal. */
115 bool operator ==(const BigUnsignedInABase &x) const { 121 bool operator ==(const BigUnsignedInABase &x) const {
116 return base == x.base && NumberlikeArray<Digit>::operator ==(x); 122 return base == x.base && NumberlikeArray<Digit>::operator ==(x);
117 } 123 }
118 bool operator !=(const BigUnsignedInABase &x) const { return !operator = =(x); } 124 bool operator !=(const BigUnsignedInABase &x) const { return !operator = =(x); }
119 125
120 }; 126 };
121 127
122 #endif 128 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698