Browse Source

example compiles with MP

Konstantin Ladutenko 8 years ago
parent
commit
7aeb41cabc
2 changed files with 16 additions and 12 deletions
  1. 13 10
      examples/example-get-Mie.cc
  2. 3 2
      examples/go-cc-examples.sh

+ 13 - 10
examples/example-get-Mie.cc

@@ -30,9 +30,12 @@
 #include <string>
 #include "../src/nmie-applied.hpp"
 #include "../src/nmie-applied-impl.hpp"
+#include "../src/nmie-precision.hpp"
 #include "./read-spectra.h"
-template<class T> inline T pow2(const T value) {return value*value;}
+
+// template<class T> inline T pow2(const T value) {return value*value;}
 int main(int argc, char *argv[]) {
+  using namespace nmie ;
   try {
     read_spectra::ReadSpectra Si_index, Ag_index;
     read_spectra::ReadSpectra plot_core_index_, plot_TiN_;
@@ -80,12 +83,12 @@ int main(int argc, char *argv[]) {
     
     double Qabs = static_cast<double>(multi_layer_mie.GetQabs());
     printf("Qabs = %g\n", Qabs);
-    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::vector< std::vector<std::complex<nmie::FloatType> > > aln, bln, cln, dln;
+    multi_layer_mie.GetExpanCoeffs(aln, bln, cln, dln);
+    std::vector< std::vector<std::complex<double> > > d_aln =
+      nmie::ConvertComplexVectorVector<double>(aln);
     std::string str = std::string("#WL ");
-    for (int l = 0; l<aln.size(); ++l) {
+    for (int l = 0; l<d_aln.size(); ++l) {
       for (int n = 0; n<3; ++n) {
 	str+="|a|^2+|d|^2_ln"+std::to_string(l)+std::to_string(n)+" "
 	  + "|b|^2+|c|^2_ln"+std::to_string(l)+std::to_string(n)+" ";
@@ -128,11 +131,11 @@ int main(int argc, char *argv[]) {
       multi_layer_mie.GetExpanCoeffs(aln, bln, cln, dln);
       for (int l = 0; l<aln.size(); ++l) {
 	for (int n = 0; n<3; ++n) {
-	  str+=" "+std::to_string(pow2(std::abs(aln[l][n]))+
-				   pow2(std::abs(dln[l][n])))
+	  str+=" "+std::to_string(static_cast<double>(pow2(std::abs(aln[l][n]))+
+                                                      pow2(std::abs(dln[l][n]))))
 	    + " "
-	    + std::to_string(pow2(std::abs(bln[l][n]))
-				 + pow2(std::abs(cln[l][n])) );
+	    + std::to_string(static_cast<double>(pow2(std::abs(bln[l][n]))
+                                                 + pow2(std::abs(cln[l][n])) ));
 
 	  // str+=" "+std::to_string(aln[l][n].real() - pow2(std::abs(aln[l][n]))
 	  // 			  +dln[l][n].real() - pow2(std::abs(dln[l][n])))

+ 3 - 2
examples/go-cc-examples.sh

@@ -6,10 +6,11 @@ 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 -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 -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
+echo Compilation done.
 
 ./$PROGRAM
 # #result