Browse Source

applied example comiples with templates using double

Konstantin Ladutenko 8 years ago
parent
commit
1c85c9614f
3 changed files with 14 additions and 7 deletions
  1. 8 4
      examples/example-get-Mie.cc
  2. 4 1
      examples/go-cc-examples.sh
  3. 2 2
      tests/c++/go-speed-test.sh

+ 8 - 4
examples/example-get-Mie.cc

@@ -29,6 +29,7 @@
 #include <cstdio>
 #include <string>
 #include "../src/nmie-applied.hpp"
+#include "../src/nmie-applied-impl.hpp"
 #include "./read-spectra.h"
 template<class T> inline T pow2(const T value) {return value*value;}
 int main(int argc, char *argv[]) {
@@ -42,7 +43,7 @@ int main(int argc, char *argv[]) {
     //std::string TiN_filename("Si.txt");
     std::string shell_filename(core_filename);
 
-    nmie::MultiLayerMieApplied multi_layer_mie;  
+    nmie::MultiLayerMieApplied<nmie::FloatType> multi_layer_mie;  
     const std::complex<double> epsilon_Si(18.4631066585, 0.6259727805);
     const std::complex<double> epsilon_Ag(-8.5014154589, 0.7585845411);
     const std::complex<double> index_Si = std::sqrt(epsilon_Si);
@@ -76,10 +77,13 @@ int main(int argc, char *argv[]) {
 
     multi_layer_mie.SetWavelength(WL);
     multi_layer_mie.RunMieCalculation();
-    double Qabs = multi_layer_mie.GetQabs();
+    
+    double Qabs = static_cast<double>(multi_layer_mie.GetQabs());
     printf("Qabs = %g\n", Qabs);
-    std::vector< std::vector<std::complex<double> > > aln, bln, cln, dln;
-    multi_layer_mie.GetExpanCoeffs(aln, bln, cln, dln);
+    std::vector< std::vector<std::complex<nmie::FloatType> > > f_aln, bln, cln, dln;
+    multi_layer_mie.GetExpanCoeffs(f_aln, bln, cln, dln);
+    std::vector< std::vector<std::complex<double> > > aln =
+      nmie::ConvertComplexVectorVector<double>(f_aln);
     std::string str = std::string("#WL ");
     for (int l = 0; l<aln.size(); ++l) {
       for (int n = 0; n<3; ++n) {

+ 4 - 1
examples/go-cc-examples.sh

@@ -6,7 +6,10 @@ echo Compile with gcc
 rm -f $PROGRAM
 
 file=example-get-Mie.cc
-g++ -Ofast -std=c++11 $file ../src/nmie.cc ../src/nmie-applied.cc ./read-spectra.cc -lm -lrt -o $PROGRAM -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -march=native -mtune=native -msse4.2
+#g++ -Ofast -std=c++11 $file ../src/nmie.cc ../src/nmie-applied.cc read-spectra.cc -DMULTI_PRECISION=200 -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 ../src/nmie-applied.cc read-spectra.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
+
+# g++ -Ofast -std=c++11 $file ../src/nmie.cc ../src/nmie-applied.cc ./read-spectra.cc -lm -lrt -o $PROGRAM -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -march=native -mtune=native -msse4.2
 
 ./$PROGRAM
 # #result

+ 2 - 2
tests/c++/go-speed-test.sh

@@ -14,8 +14,8 @@ rm -f $PROGRAM
 #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
-g++ -Ofast -std=c++11 $file ../../src/nmie.cc ../../src/nmie-applied.cc -DMULTI_PRECISION=200 -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 ../../src/nmie-applied.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
+# g++ -Ofast -std=c++11 $file ../../src/nmie.cc ../../src/nmie-applied.cc -DMULTI_PRECISION=200 -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 ../../src/nmie-applied.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
 
 echo Should be:
 echo test01, +1.41154e+00, +4.17695e-01, +9.93844e-01, +1.59427e-01, +1.25809e+00, +3.67376e-01, +2.95915e-01