Tests: Update style of c++ code snippets in Tutorial directions

This commit is contained in:
Zack Galbreath 2019-01-11 11:31:12 -05:00 committed by Betsy McPhail
parent f2ddedfa58
commit 0e2cdacf7b
2 changed files with 17 additions and 25 deletions

View File

@ -52,14 +52,13 @@ make use of the version numbers. The resulting source code is listed below.
int main (int argc, char *argv[])
{
if (argc < 2)
{
if (argc < 2) {
std::cout << argv[0] << " Version "
<< Tutorial_VERSION_MAJOR << "." << Tutorial_VERSION_MINOR
<< std::endl;
std::cout << "Usage: " << argv[0] << " number" << std::endl;
return 1;
}
}
double inputValue = atof(argv[1]);

View File

@ -16,24 +16,21 @@ MathFunctions subdirectory a new source file named MakeTable.cxx will do just th
int main (int argc, char *argv[])
{
// make sure we have enough arguments
if (argc < 2)
{
if (argc < 2) {
return 1;
}
}
std::ofstream fout(argv[1],std::ios_base::out);
const bool fileOpen = fout.is_open();
if(fileOpen)
{
if(fileOpen) {
fout << "double sqrtTable[] = {" << std::endl;
for (int i = 0; i < 10; ++i)
{
for (int i = 0; i < 10; ++i) {
fout << sqrt(static_cast<double>(i)) << "," << std::endl;
}
}
// close the table with a zero
fout << "0};" << std::endl;
fout.close();
}
}
return fileOpen ? 0 : 1; // return 0 if wrote the file
}
@ -81,29 +78,25 @@ found and included by mysqrt.cxx.
Now let's use the generated table. First, modify mysqrt.cxx to include Table.h.
Next, we can rewrite the mysqrt function to use the table:
if (x <= 0)
{
return 0;
}
if (x <= 0) {
return 0;
}
// use the table to help find an initial value
double result = x;
if (x >= 1 && x < 10)
{
if (x >= 1 && x < 10) {
result = sqrtTable[static_cast<int>(x)];
}
}
// do ten iterations
for (int i = 0; i < 10; ++i)
{
if (result <= 0)
{
for (int i = 0; i < 10; ++i) {
if (result <= 0) {
result = 0.1;
}
}
double delta = x - (result*result);
result = result + 0.5*delta/result;
std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
}
}
Run cmake or cmake-gui to configure the project and then build it with your
chosen build tool. When this project is built it will first build the MakeTable