diff --git a/src/sphere/sphere.cpp b/src/sphere/sphere.cpp index 448002d20c1dde9881768d52e5a63d3436f20688..2e179fc59ecb5aaff9e23f68a6a2494757a632e8 100644 --- a/src/sphere/sphere.cpp +++ b/src/sphere/sphere.cpp @@ -294,10 +294,17 @@ void sphere(string config_file, string data_file, string output_path) { ttms.write(reinterpret_cast<char *>(&vk), sizeof(double)); ttms.write(reinterpret_cast<char *>(&exri), sizeof(double)); for (int lmi = 0; lmi < gconf->l_max; lmi++) { - complex<double> element1 = -1.0 / c1->rmi[0][lmi]; - complex<double> element2 = -1.0 / c1->rei[0][lmi]; - ttms.write(reinterpret_cast<char *>(&element1), sizeof(complex<double>)); - ttms.write(reinterpret_cast<char *>(&element2), sizeof(complex<double>)); + complex<double> element1 = -1.0 / c1->rmi[lmi][0]; + complex<double> element2 = -1.0 / c1->rei[lmi][0]; + double vreal, vimag; + vreal = element1.real(); + vimag = element1.imag(); + ttms.write(reinterpret_cast<char *>(&vreal), sizeof(double)); + ttms.write(reinterpret_cast<char *>(&vimag), sizeof(double)); + vreal = element2.real(); + vimag = element2.imag(); + ttms.write(reinterpret_cast<char *>(&vreal), sizeof(double)); + ttms.write(reinterpret_cast<char *>(&vimag), sizeof(double)); } ttms.write(reinterpret_cast<char *>(&(sconf->radii_of_spheres[0])), sizeof(double)); ttms.close();