|  | @@ -87,10 +87,33 @@ py::tuple py_ScattCoeffs(py::array_t<double, py::array::c_style | py::array::for
 | 
											
												
													
														|  |    return py::make_tuple(terms, VectorComplex2Py(c_an), VectorComplex2Py(c_bn));
 |  |    return py::make_tuple(terms, VectorComplex2Py(c_an), VectorComplex2Py(c_bn));
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +py::tuple py_scattnlay(py::array_t<double, py::array::c_style | py::array::forcecast> py_x,
 | 
											
												
													
														|  | 
 |  | +                       py::array_t< std::complex<double>, py::array::c_style | py::array::forcecast> py_m,
 | 
											
												
													
														|  | 
 |  | +                       py::array_t<double, py::array::c_style | py::array::forcecast> py_theta,
 | 
											
												
													
														|  | 
 |  | +                       const int nmax=-1, const int pl=-1) {
 | 
											
												
													
														|  | 
 |  | +  auto c_x = Py2VectorDouble(py_x);
 | 
											
												
													
														|  | 
 |  | +  auto c_m = Py2VectorComplex(py_m);
 | 
											
												
													
														|  | 
 |  | +  auto c_theta = Py2VectorDouble(py_theta);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  int L = py_x.size(), nTheta = c_theta.size(), terms;
 | 
											
												
													
														|  | 
 |  | +  double Qext, Qsca, Qabs, Qbk, Qpr, g, Albedo;
 | 
											
												
													
														|  | 
 |  | +  std::vector<std::complex<double> > S1, S2;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  terms = nmie::nMie(L, pl, c_x, c_m, nTheta, c_theta, nmax, &Qext, &Qsca, &Qabs, &Qbk, &Qpr, &g, &Albedo, S1, S2);
 | 
											
												
													
														|  | 
 |  | +  
 | 
											
												
													
														|  | 
 |  | +  return py::make_tuple(terms, Qext, Qsca, Qabs, Qbk, Qpr, g, Albedo,
 | 
											
												
													
														|  | 
 |  | +                        VectorComplex2Py(S1), VectorComplex2Py(S2));
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  PYBIND11_MODULE(example, m) {
 |  |  PYBIND11_MODULE(example, m) {
 | 
											
												
													
														|  |      m.doc() = "pybind11 example plugin"; // optional module docstring
 |  |      m.doc() = "pybind11 example plugin"; // optional module docstring
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      m.def("scattcoeffs", &py_ScattCoeffs, "test",
 |  |      m.def("scattcoeffs", &py_ScattCoeffs, "test",
 | 
											
												
													
														|  |            py::arg("x"), py::arg("m"),
 |  |            py::arg("x"), py::arg("m"),
 | 
											
												
													
														|  |            py::arg("nmax")=-1, py::arg("pl")=-1);
 |  |            py::arg("nmax")=-1, py::arg("pl")=-1);
 | 
											
												
													
														|  | 
 |  | +    m.def("scattnlay", &py_scattnlay, "test",
 | 
											
												
													
														|  | 
 |  | +          py::arg("x"), py::arg("m"),
 | 
											
												
													
														|  | 
 |  | +          py::arg("theta")=py::array_t<double>(0),
 | 
											
												
													
														|  | 
 |  | +          py::arg("nmax")=-1, py::arg("pl")=-1);
 | 
											
												
													
														|  |  }
 |  |  }
 |