Bladeren bron

Multiprecision with compiler macros to pick the precision

Ovidio Peña Rodríguez 8 jaren geleden
bovenliggende
commit
a83c3e0105
2 gewijzigde bestanden met toevoegingen van 10 en 5 verwijderingen
  1. 9 5
      src/nmie-precision.hpp
  2. 1 0
      tests/c++/go-speed-test.sh

+ 9 - 5
src/nmie-precision.hpp

@@ -39,16 +39,20 @@
 //                                                                                  //
 // Hereinafter all equations numbers refer to [2]                                   //
 //**********************************************************************************//
+#ifdef MULTI_PRECISION
 #include <boost/multiprecision/number.hpp>
 #include <boost/multiprecision/cpp_bin_float.hpp>
+#endif  // MULTI_PRECISION
 
 namespace nmie {
-	typedef boost::multiprecision::cpp_bin_float_100 FloatType;
+    #ifdef MULTI_PRECISION
 	namespace nmm = boost::multiprecision;
-
-	// namespace nmm = std;
-	// typedef double FloatType;
+	typedef nmm::number<nmm::cpp_bin_float<MULTI_PRECISION> > FloatType;
+    #else
+	namespace nmm = std;
+	typedef double FloatType;
 	//typedef float FloatType;
+    #endif  // MULTI_PRECISION
 
 }  // end of namespace nmie
-#endif  // SRC_NMIE_IMPL_H_
+#endif  // SRC_NMIE_PRECISION_H_

+ 1 - 0
tests/c++/go-speed-test.sh

@@ -10,6 +10,7 @@ rm -f $PROGRAM
 # g++ -Ofast -std=c++11 $file ../../src/nmie.cc  -lm -lrt -o $PROGRAM /usr/lib/libtcmalloc.so.4 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -march=native -mtune=native -msse4.2
 
 file=speed-test.cc
+#g++ -Ofast -std=c++11 $file ../../src/nmie.cc -DMULTI_PRECISION=20  -lm -lrt -o $PROGRAM /usr/lib/libtcmalloc_minimal.so.4 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -march=native -mtune=native -msse4.2
 g++ -Ofast -std=c++11 $file ../../src/nmie.cc  -lm -lrt -o $PROGRAM /usr/lib/libtcmalloc_minimal.so.4 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -march=native -mtune=native -msse4.2
 
 #file=speed-test-applied.cc