Loading src/libnptm/Configuration.cpp +12 −41 Original line number Diff line number Diff line Loading @@ -673,34 +673,6 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { if (mode.compare("LEGACY") == 0) { // Legacy mode was chosen. fstream output; int ies = (use_external_sphere)? 1 : 0; double *xi_vec; if (reference_variable_name.compare("XIV") == 0) xi_vec = scale_vec; else { is_new_vector = true; xi_vec = new double[number_of_scales]; if (reference_variable_name.compare("WNS") == 0) { for (int i = 0; i < number_of_scales; i++) xi_vec[i] = 3.0e8 * scale_vec[i] / wp; } else if (reference_variable_name.compare("WLS") == 0) { for (int i = 0; i < number_of_scales; i++) { double wn = two_pi / scale_vec[i]; xi_vec[i] = 3.0e8 * wn / wp; } } else if (reference_variable_name.compare("PUS") == 0) { for (int i = 0; i < number_of_scales; i++) xi_vec[i] = scale_vec[i] / wp; } else if (reference_variable_name.compare("EVS") == 0) { for (int i = 0; i < number_of_scales; i++) { double pu = scale_vec[i] / evc; xi_vec[i] = pu / wp; } } else { throw UnrecognizedConfigurationException( "Wrong parameter set: unrecognized scale type " + reference_variable_name ); } } output.open(file_name.c_str(), ios::out | ios::binary); output.write(reinterpret_cast<char *>(&number_of_spheres), sizeof(int)); for (int i = 0; i < number_of_spheres; i++) Loading @@ -711,7 +683,7 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { output.write(reinterpret_cast<char *>(&idfc), sizeof(int)); output.write(reinterpret_cast<char *>(&number_of_scales), sizeof(int)); for (int i = 0; i < number_of_scales; i++) output.write(reinterpret_cast<char *>(&(xi_vec[i])), sizeof(double)); output.write(reinterpret_cast<char *>(&(scale_vec[i])), sizeof(double)); for (int i115 = 1; i115 <= number_of_spheres; i115++) { if (iog_vec[i115 - 1] < i115) continue; output.write(reinterpret_cast<char *>(&(nshl_vec[i115 - 1])), sizeof(int)); Loading Loading @@ -741,7 +713,6 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { } } } if (is_new_vector) delete[] xi_vec; output.close(); } } Loading Loading @@ -790,10 +761,10 @@ void ScattererConfiguration::write_formatted(string file_name) { case 1: fprintf(output, " JXI WNS WLS PUS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { wn_vec[i] = scale_vec[i]; wl_vec[i] = two_pi / wn_vec[i]; xi_vec[i] = 3.0e8 * wn_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, Loading @@ -810,10 +781,10 @@ void ScattererConfiguration::write_formatted(string file_name) { case 2: fprintf(output, " JXI WLS WNS PUS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { wl_vec[i] = scale_vec[i]; wn_vec[i] = two_pi / wl_vec[i]; xi_vec[i] = 3.0e8 * wn_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, Loading @@ -830,8 +801,8 @@ void ScattererConfiguration::write_formatted(string file_name) { case 3: fprintf(output, " JXI PUS WNS WLS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { pu_vec[i] = scale_vec[i]; xi_vec[i] = pu_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; Loading @@ -850,11 +821,11 @@ void ScattererConfiguration::write_formatted(string file_name) { case 4: fprintf(output, " JXI EVS WNS WLS PUS XIV\n"); for (int i = 0; i < number_of_scales; i++) { ev_vec[i] = scale_vec[i]; pu_vec[i] = ev_vec[i] / evc; xi_vec[i] = pu_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, "%5d%13.4lE%13.4lE%13.4lE%13.4lE%13.4lE\n", Loading Loading
src/libnptm/Configuration.cpp +12 −41 Original line number Diff line number Diff line Loading @@ -673,34 +673,6 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { if (mode.compare("LEGACY") == 0) { // Legacy mode was chosen. fstream output; int ies = (use_external_sphere)? 1 : 0; double *xi_vec; if (reference_variable_name.compare("XIV") == 0) xi_vec = scale_vec; else { is_new_vector = true; xi_vec = new double[number_of_scales]; if (reference_variable_name.compare("WNS") == 0) { for (int i = 0; i < number_of_scales; i++) xi_vec[i] = 3.0e8 * scale_vec[i] / wp; } else if (reference_variable_name.compare("WLS") == 0) { for (int i = 0; i < number_of_scales; i++) { double wn = two_pi / scale_vec[i]; xi_vec[i] = 3.0e8 * wn / wp; } } else if (reference_variable_name.compare("PUS") == 0) { for (int i = 0; i < number_of_scales; i++) xi_vec[i] = scale_vec[i] / wp; } else if (reference_variable_name.compare("EVS") == 0) { for (int i = 0; i < number_of_scales; i++) { double pu = scale_vec[i] / evc; xi_vec[i] = pu / wp; } } else { throw UnrecognizedConfigurationException( "Wrong parameter set: unrecognized scale type " + reference_variable_name ); } } output.open(file_name.c_str(), ios::out | ios::binary); output.write(reinterpret_cast<char *>(&number_of_spheres), sizeof(int)); for (int i = 0; i < number_of_spheres; i++) Loading @@ -711,7 +683,7 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { output.write(reinterpret_cast<char *>(&idfc), sizeof(int)); output.write(reinterpret_cast<char *>(&number_of_scales), sizeof(int)); for (int i = 0; i < number_of_scales; i++) output.write(reinterpret_cast<char *>(&(xi_vec[i])), sizeof(double)); output.write(reinterpret_cast<char *>(&(scale_vec[i])), sizeof(double)); for (int i115 = 1; i115 <= number_of_spheres; i115++) { if (iog_vec[i115 - 1] < i115) continue; output.write(reinterpret_cast<char *>(&(nshl_vec[i115 - 1])), sizeof(int)); Loading Loading @@ -741,7 +713,6 @@ void ScattererConfiguration::write_binary(string file_name, string mode) { } } } if (is_new_vector) delete[] xi_vec; output.close(); } } Loading Loading @@ -790,10 +761,10 @@ void ScattererConfiguration::write_formatted(string file_name) { case 1: fprintf(output, " JXI WNS WLS PUS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { wn_vec[i] = scale_vec[i]; wl_vec[i] = two_pi / wn_vec[i]; xi_vec[i] = 3.0e8 * wn_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, Loading @@ -810,10 +781,10 @@ void ScattererConfiguration::write_formatted(string file_name) { case 2: fprintf(output, " JXI WLS WNS PUS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { wl_vec[i] = scale_vec[i]; wn_vec[i] = two_pi / wl_vec[i]; xi_vec[i] = 3.0e8 * wn_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, Loading @@ -830,8 +801,8 @@ void ScattererConfiguration::write_formatted(string file_name) { case 3: fprintf(output, " JXI PUS WNS WLS EVS XIV\n"); for (int i = 0; i < number_of_scales; i++) { pu_vec[i] = scale_vec[i]; xi_vec[i] = pu_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; Loading @@ -850,11 +821,11 @@ void ScattererConfiguration::write_formatted(string file_name) { case 4: fprintf(output, " JXI EVS WNS WLS PUS XIV\n"); for (int i = 0; i < number_of_scales; i++) { ev_vec[i] = scale_vec[i]; pu_vec[i] = ev_vec[i] / evc; xi_vec[i] = pu_vec[i] / wp; xi_vec[i] = scale_vec[i]; pu_vec[i] = xi_vec[i] * wp; wn_vec[i] = pu_vec[i] / 3.0e8; wl_vec[i] = two_pi / wn_vec[i]; ev_vec[i] = pu_vec[i] * evc; fprintf( output, "%5d%13.4lE%13.4lE%13.4lE%13.4lE%13.4lE\n", Loading