[bug] Fix namespace issue. Fix typo in README.

This commit is contained in:
Elf M. Sternberg 2015-08-22 20:22:02 -07:00
parent c51556a7ad
commit a74b1ce714
6 changed files with 17 additions and 18 deletions

View File

@ -10,7 +10,7 @@ The problem stated was:
Given a number (assume base 10) less than 10,000, write a program in Given a number (assume base 10) less than 10,000, write a program in
C++ that will reverse the digits of that number, calculate the C++ that will reverse the digits of that number, calculate the
original number to the power of the new number, and print it out. original number to the power of the new number, and print it out.
You may not use Boost, GMP, or any library other than that provide You may not use Boost, GMP, or any library other than that provided
by the C++ Standard Library. by the C++ Standard Library.
I don't know C++. I haven't ever written C++ profesionally, and I I don't know C++. I haven't ever written C++ profesionally, and I
@ -18,11 +18,11 @@ haven't actually *looked* at C++ since 1999 or so. As a professional,
I'm aware of what's going on in the zeitgeist, and at my job at Spiral I'm aware of what's going on in the zeitgeist, and at my job at Spiral
Genetics I interacted with two very talented C++ developers a lot, so I Genetics I interacted with two very talented C++ developers a lot, so I
was aware of things like the emerging C++ Standard Library and RAII and was aware of things like the emerging C++ Standard Library and RAII and
so forth. I didn't know what they *meant*, but I had heard them. I've so forth. I didn't know what they *meant*, but I had heard of them.
also been aware of the emerging standards in C++11 and C++14, mostly I've also been aware of the emerging standards in C++11 and C++14,
thanks to Slashdot, Lobsters, and their ilk (don't read the comments, mostly thanks to Slashdot, Hacker News, and their ilk (don't read the
don't **ever** read the comments), so I'd *heard* about auto_ptr and comments, don't **ever** read the comments), so I'd *heard* about
C++11 lambdas and the like. auto_ptr and C++11 lambdas and the like.
It took about an hour of googling to get up to speed on things like It took about an hour of googling to get up to speed on things like
namespaces, containers, for_each, lambdas, and the like. I really like namespaces, containers, for_each, lambdas, and the like. I really like
@ -31,7 +31,7 @@ the new unique\_ptr construction. That's very nice.
My basic solution degrades to 4th-grade mathematics: Break the My basic solution degrades to 4th-grade mathematics: Break the
multiplicand up into a list of single digits, multiply each digit multiplicand up into a list of single digits, multiply each digit
with the multiplier, then redistribute the values up the tens, hundreds, with the multiplier, then redistribute the values up the tens, hundreds,
etc. etc. This solution is not particularly fast or space-efficient, etc., etc. This solution is not particularly fast or space-efficient,
but it has the virtue of being comprehensible by any ten-year-old. but it has the virtue of being comprehensible by any ten-year-old.
As usual, I've provided a test suite, as well as a pair of utility As usual, I've provided a test suite, as well as a pair of utility

View File

@ -2,6 +2,8 @@
namespace cheapgmp { namespace cheapgmp {
using namespace std;
ulong tolong(const gmrep in) { ulong tolong(const gmrep in) {
int pos = 1; int pos = 1;
ulong ret = 0; ulong ret = 0;

View File

@ -3,9 +3,7 @@
#include <string> #include <string>
#include <iostream> #include <iostream>
using namespace std;
namespace cheapgmp { namespace cheapgmp {
wstring tostring(gmrep); std::wstring tostring(gmrep);
ulong tolong(gmrep); ulong tolong(gmrep);
} }

View File

@ -1,8 +1,9 @@
#include "cheapgmp.hpp" #include "cheapgmp.hpp"
using namespace std;
namespace cheapgmp { namespace cheapgmp {
using namespace std;
namespace { namespace {
/* Given a list representing a decimal number as a multiplicand, /* Given a list representing a decimal number as a multiplicand,

View File

@ -2,11 +2,9 @@
#include <list> #include <list>
#include <algorithm> #include <algorithm>
using namespace std;
namespace cheapgmp { namespace cheapgmp {
typedef list<ulong> lmrep; typedef std::list<ulong> lmrep;
typedef unique_ptr<lmrep> gmrep; typedef std::unique_ptr<lmrep> gmrep;
gmrep makepower(const ulong, const ulong); gmrep makepower(const ulong, const ulong);
} }

View File

@ -6,7 +6,7 @@
using namespace cheapgmp; using namespace cheapgmp;
wstring sample123 = L"72367033806371673149109894141163778628811792657571658906010558390395870363798401744095280686155507736404921657070284961721828960592977909542637098897697223102622628566787654091327825453991595140205701412961364188732408936197890553699715836951569999800431957769217006743321026257517932764164662319487914962533302741368207211189494615326552790667720411285474162636765168907211924134973374304496019635376665858559941735703924836467756917247995469583487467791524582153744522107597865277798136080074161485280424274076931083994487111719562249702540362855712911132265966235754355353516703339043001506118520760359577737869472018617942120590873170710805078696371738906375721785723"; std::wstring sample123 = L"72367033806371673149109894141163778628811792657571658906010558390395870363798401744095280686155507736404921657070284961721828960592977909542637098897697223102622628566787654091327825453991595140205701412961364188732408936197890553699715836951569999800431957769217006743321026257517932764164662319487914962533302741368207211189494615326552790667720411285474162636765168907211924134973374304496019635376665858559941735703924836467756917247995469583487467791524582153744522107597865277798136080074161485280424274076931083994487111719562249702540362855712911132265966235754355353516703339043001506118520760359577737869472018617942120590873170710805078696371738906375721785723";
ulong sample6 = 46656; ulong sample6 = 46656;