summaryrefslogtreecommitdiff
path: root/Help/guide/tutorial/Step4/tutorial.cxx
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-10-08 09:14:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-10-08 09:14:18 +0900
commitd40909a98298a97d879ceeb3b29dcdc858e85628 (patch)
tree0a9255654a9376c5e9f29aa53d15f0ae173751a0 /Help/guide/tutorial/Step4/tutorial.cxx
parentc5223aaf98b2d10aee32aa614519ee7a23698998 (diff)
downloadcmake-5e63fbc7b992da72e08483c99e4e38ef9fd81a53.tar.gz
cmake-5e63fbc7b992da72e08483c99e4e38ef9fd81a53.tar.bz2
cmake-5e63fbc7b992da72e08483c99e4e38ef9fd81a53.zip
Imported Upstream version 3.16.0upstream/3.16.0
Diffstat (limited to 'Help/guide/tutorial/Step4/tutorial.cxx')
-rw-r--r--Help/guide/tutorial/Step4/tutorial.cxx36
1 files changed, 36 insertions, 0 deletions
diff --git a/Help/guide/tutorial/Step4/tutorial.cxx b/Help/guide/tutorial/Step4/tutorial.cxx
new file mode 100644
index 000000000..b3c6a4f43
--- /dev/null
+++ b/Help/guide/tutorial/Step4/tutorial.cxx
@@ -0,0 +1,36 @@
+// A simple program that computes the square root of a number
+#include <cmath>
+#include <iostream>
+#include <string>
+
+#include "TutorialConfig.h"
+
+// should we include the MathFunctions header?
+#ifdef USE_MYMATH
+# include "MathFunctions.h"
+#endif
+
+int main(int argc, char* argv[])
+{
+ if (argc < 2) {
+ // report version
+ std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
+ << Tutorial_VERSION_MINOR << std::endl;
+ std::cout << "Usage: " << argv[0] << " number" << std::endl;
+ return 1;
+ }
+
+ // convert input to double
+ const double inputValue = std::stod(argv[1]);
+
+ // which square root function should we use?
+#ifdef USE_MYMATH
+ const double outputValue = mysqrt(inputValue);
+#else
+ const double outputValue = sqrt(inputValue);
+#endif
+
+ std::cout << "The square root of " << inputValue << " is " << outputValue
+ << std::endl;
+ return 0;
+}