Browse Source

compiles with MP

Konstantin Ladutenko 8 years ago
parent
commit
d71dc6369e
2 changed files with 15 additions and 15 deletions
  1. 13 13
      src/nmie-applied.cc
  2. 2 2
      tests/c++/go-speed-test.sh

+ 13 - 13
src/nmie-applied.cc

@@ -76,24 +76,24 @@ namespace nmie {
     if (Theta.size() != nTheta)
     if (Theta.size() != nTheta)
         throw std::invalid_argument("Declared number of sample for Theta is not correct!");
         throw std::invalid_argument("Declared number of sample for Theta is not correct!");
     try {
     try {
-      MultiLayerMieApplied<> ml_mie;
-      ml_mie.SetLayersSize(x);
-      ml_mie.SetLayersIndex(m);
-      ml_mie.SetAngles(Theta);
+      MultiLayerMieApplied<FloatType> ml_mie;
+      ml_mie.SetLayersSize(ConvertVector<FloatType>(x));
+      ml_mie.SetLayersIndex(ConvertComplexVector<FloatType>(m));
+      ml_mie.SetAngles(ConvertVector<FloatType>(Theta));
       ml_mie.SetPECLayer(pl);
       ml_mie.SetPECLayer(pl);
       ml_mie.SetMaxTerms(nmax);
       ml_mie.SetMaxTerms(nmax);
 
 
       ml_mie.RunMieCalculation();
       ml_mie.RunMieCalculation();
 
 
-      *Qext = ml_mie.GetQext();
-      *Qsca = ml_mie.GetQsca();
-      *Qabs = ml_mie.GetQabs();
-      *Qbk = ml_mie.GetQbk();
-      *Qpr = ml_mie.GetQpr();
-      *g = ml_mie.GetAsymmetryFactor();
-      *Albedo = ml_mie.GetAlbedo();
-      S1 = ml_mie.GetS1();
-      S2 = ml_mie.GetS2();
+      *Qext = static_cast<double>(ml_mie.GetQext());
+      *Qsca = static_cast<double>(ml_mie.GetQsca());
+      *Qabs = static_cast<double>(ml_mie.GetQabs());
+      *Qbk = static_cast<double>(ml_mie.GetQbk());
+      *Qpr = static_cast<double>(ml_mie.GetQpr());
+      *g = static_cast<double>(ml_mie.GetAsymmetryFactor());
+      *Albedo = static_cast<double>(ml_mie.GetAlbedo());
+      S1 = ConvertComplexVector<double>(ml_mie.GetS1());
+      S2 = ConvertComplexVector<double>(ml_mie.GetS2());
 
 
       return ml_mie.GetMaxTerms();
       return ml_mie.GetMaxTerms();
     } catch(const std::invalid_argument& ia) {
     } catch(const std::invalid_argument& ia) {

+ 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
 #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
 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 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
 echo test01, +1.41154e+00, +4.17695e-01, +9.93844e-01, +1.59427e-01, +1.25809e+00, +3.67376e-01, +2.95915e-01