|  | @@ -545,7 +545,7 @@ namespace nmie {
 | 
	
		
			
				|  |  |  				      std::vector<std::complex<double> >& bn,
 | 
	
		
			
				|  |  |  				      double x, std::complex<double> m) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    printf("==========\n m = %g,%g,    x= %g\n", std::real(m), std::imag(m), x);
 | 
	
		
			
				|  |  | +    //printf("==========\n m = %g,%g,    x= %g\n", std::real(m), std::imag(m), x);
 | 
	
		
			
				|  |  |      std::vector<std::complex<double> > PsiX(nmax_ + 1), ZetaX(nmax_ + 1);
 | 
	
		
			
				|  |  |      std::vector<std::complex<double> > PsiMX(nmax_ + 1), ZetaMX(nmax_ + 1);
 | 
	
		
			
				|  |  |      // First, calculate the Riccati-Bessel functions
 | 
	
	
		
			
				|  | @@ -575,34 +575,20 @@ namespace nmie {
 | 
	
		
			
				|  |  |        Denom = PsiMX[n]*dZetaX[n] - m*ZetaX[n]*dPsiMX[n];      
 | 
	
		
			
				|  |  |        bn[i] = Num/Denom;      
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    printf("dPsiX\n");
 | 
	
		
			
				|  |  | -    for (auto a: dPsiX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    printf("\ndPsiMX\n");
 | 
	
		
			
				|  |  | -    for (auto a: dPsiMX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    printf("\nPsiX\n");
 | 
	
		
			
				|  |  | -    for (auto a: PsiX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    printf("\nPsiMX\n");
 | 
	
		
			
				|  |  | -    for (auto a: PsiMX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    printf("\nZetaX\n");
 | 
	
		
			
				|  |  | -    for (auto a: ZetaX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    //   It should be
 | 
	
		
			
				|  |  | -    // Columns 1 through 3:
 | 
	
		
			
				|  |  | -    //   3.3333e-07 - 1.0000e+03i   2.6645e-10 - 3.0000e+06i   5.1499e-07 - 1.5000e+10i
 | 
	
		
			
				|  |  | -    // Columns 4 through 6:
 | 
	
		
			
				|  |  | -    //  -3.3479e-03 - 1.0500e+14i   1.1890e+01 - 9.4500e+17i   1.1000e+06 - 1.0395e+22i
 | 
	
		
			
				|  |  | -    // Columns 7 through 9:
 | 
	
		
			
				|  |  | -    //   1.9937e+10 - 1.3514e+26i   3.6291e+14 - 2.0270e+30i   4.2838e+18 - 3.4459e+34i
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    // We have ZetaX
 | 
	
		
			
				|  |  | -    // 1.00000e-03 + -1.00000e+00i
 | 
	
		
			
				|  |  | -    // 3.33333e-07 + -1.00000e+03i  -5.26776e-08 + -3.00000e+06i  -2.63721e-04 + -1.50000e+10i
 | 
	
		
			
				|  |  | -    // -1.84605e+00 + -1.05000e+14i  -1.66144e+04 + -9.45000e+17i  -1.82759e+08 + -1.03950e+22i
 | 
	
		
			
				|  |  | -    // -2.37587e+12 + -1.35135e+26i  -3.56380e+16 + -2.02703e+30i  -6.05846e+20 + -3.44594e+34i
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    printf("\ndZetaX\n");
 | 
	
		
			
				|  |  | -    for (auto a: dZetaX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    printf("\nsize param: %g\n", x);
 | 
	
		
			
				|  |  | +    // printf("dPsiX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: dPsiX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    // printf("\ndPsiMX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: dPsiMX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    // printf("\nPsiX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: PsiX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    // printf("\nPsiMX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: PsiMX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    // printf("\nZetaX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: ZetaX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    // printf("\ndZetaX\n");
 | 
	
		
			
				|  |  | +    // for (auto a: dZetaX) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // printf("\nsize param: %g\n", x);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -1386,19 +1372,17 @@ namespace nmie {
 | 
	
		
			
				|  |  |    void MultiLayerMie::RunFieldCalculation() {
 | 
	
		
			
				|  |  |      // Calculate external scattering coefficients an_ and bn_
 | 
	
		
			
				|  |  |      ExternalScattCoeffs();
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -    // printf("an\n");
 | 
	
		
			
				|  |  | -    // for (auto a: an_) printf("%g + %g i\n",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    // printf("bn\n");
 | 
	
		
			
				|  |  | -    // for (auto a: bn_) printf("%g + %g i\n",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    // printf("size param: %g\n", size_param_.back());
 | 
	
		
			
				|  |  | +    printf("an_\n");
 | 
	
		
			
				|  |  | +    for (auto a: an_) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    printf("\nbn_\n");
 | 
	
		
			
				|  |  | +    for (auto a: bn_) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      calc_an_bn_bulk(an_, bn_, size_param_.back(), refractive_index_.back());
 | 
	
		
			
				|  |  | -    // printf("bulk an\n");
 | 
	
		
			
				|  |  | -    // for (auto a: an_) printf("%g + %g i\n",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    // printf("bulk bn\n");
 | 
	
		
			
				|  |  | -    // for (auto a: bn_) printf("%g + %g i\n",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | -    // printf("size param: %g\n", size_param_.back());
 | 
	
		
			
				|  |  | +    printf("\nbulk an_\n");
 | 
	
		
			
				|  |  | +    for (auto a: an_) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    printf("\nbulk bn_\n");
 | 
	
		
			
				|  |  | +    for (auto a: bn_) printf("%10.5er%+10.5ei  ",std::real(a), std::imag(a));
 | 
	
		
			
				|  |  | +    printf("\nsize param: %g\n", size_param_.back());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Calculate internal scattering coefficients aln_,  bln_, cln_, and dln_
 | 
	
		
			
				|  |  |      InternalScattCoeffs();
 |