summaryrefslogtreecommitdiff
path: root/Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx
diff options
context:
space:
mode:
authorMarkus Ferrell <markus.ferrell@kitware.com>2023-02-10 16:07:06 -0500
committerMarkus Ferrell <markus.ferrell@kitware.com>2023-02-23 09:42:10 -0500
commit8ddf32196c6bca9c3a80414222327eebd5d51835 (patch)
tree40ad09ab3e93b4d1bbc642fc921f1ddb3737853b /Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx
parent78299083d24fc09c777292effb4fdb9d9ed1d7d3 (diff)
downloadcmake-8ddf32196c6bca9c3a80414222327eebd5d51835.tar.gz
Tutorial: Refactor MathFunctions code
Propagate the refactor in Step 10 MathFunctions through all of the steps. Use MathFunctions/MathFunctions.cxx instead of Tutorial.cxx to determine which sqrt library is called. Adds .h files which correspond to their .cxx files by name.
Diffstat (limited to 'Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx')
-rw-r--r--Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx b/Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx
new file mode 100644
index 0000000000..dc28b4b530
--- /dev/null
+++ b/Help/guide/tutorial/Step9/MathFunctions/MathFunctions.cxx
@@ -0,0 +1,19 @@
+#include "MathFunctions.h"
+
+#include <cmath>
+
+#ifdef USE_MYMATH
+# include "mysqrt.h"
+#endif
+
+namespace mathfunctions {
+double sqrt(double x)
+{
+// which square root function should we use?
+#ifdef USE_MYMATH
+ return detail::mysqrt(x);
+#else
+ return std::sqrt(x);
+#endif
+}
+}