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

Side by Side Diff: third_party/bigint/BigIntegerUtils.cc

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 #include "BigIntegerUtils.hh" 7 #include "BigIntegerUtils.hh"
2 #include "BigUnsignedInABase.hh" 8 #include "BigUnsignedInABase.hh"
3 9
4 std::string bigUnsignedToString(const BigUnsigned &x) { 10 std::string bigUnsignedToString(const BigUnsigned &x) {
5 return std::string(BigUnsignedInABase(x, 10)); 11 return std::string(BigUnsignedInABase(x, 10));
6 } 12 }
7 13
8 std::string bigIntegerToString(const BigInteger &x) { 14 std::string bigIntegerToString(const BigInteger &x) {
9 return (x.getSign() == BigInteger::negative) 15 return (x.getSign() == BigInteger::negative)
10 ? (std::string("-") + bigUnsignedToString(x.getMagnitude())) 16 ? (std::string("-") + bigUnsignedToString(x.getMagnitude()))
(...skipping 18 matching lines...) Expand all
29 base = 10; 35 base = 10;
30 else if (osFlags & os.hex) { 36 else if (osFlags & os.hex) {
31 base = 16; 37 base = 16;
32 if (osFlags & os.showbase) 38 if (osFlags & os.showbase)
33 os << "0x"; 39 os << "0x";
34 } else if (osFlags & os.oct) { 40 } else if (osFlags & os.oct) {
35 base = 8; 41 base = 8;
36 if (osFlags & os.showbase) 42 if (osFlags & os.showbase)
37 os << '0'; 43 os << '0';
38 } else 44 } else
45 #ifdef FOXIT_CHROME_BUILD
46 abort();
47 #else
39 throw "std::ostream << BigUnsigned: Could not determine the desi red base from output-stream flags"; 48 throw "std::ostream << BigUnsigned: Could not determine the desi red base from output-stream flags";
49 #endif
40 std::string s = std::string(BigUnsignedInABase(x, base)); 50 std::string s = std::string(BigUnsignedInABase(x, base));
41 os << s; 51 os << s;
42 return os; 52 return os;
43 } 53 }
44 54
45 std::ostream &operator <<(std::ostream &os, const BigInteger &x) { 55 std::ostream &operator <<(std::ostream &os, const BigInteger &x) {
46 if (x.getSign() == BigInteger::negative) 56 if (x.getSign() == BigInteger::negative)
47 os << '-'; 57 os << '-';
48 os << x.getMagnitude(); 58 os << x.getMagnitude();
49 return os; 59 return os;
50 } 60 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698