Commit 0e1fed57 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Fix regex search of real numbers

parent efd3ccee
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ GeometryConfiguration* GeometryConfiguration::from_legacy(string file_name) {
  } else {
    for (int i = 0; i < _nsph; i++) {
      str_target = file_lines[last_read_line++];
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
      for (int ri = 0; ri < 3; ri++) {
	regex_search(str_target, m, re);
	str_num = regex_replace(m.str(), regex("D"), "e");
@@ -122,7 +122,7 @@ GeometryConfiguration* GeometryConfiguration::from_legacy(string file_name) {
    }
  }
  double in_th_start, in_th_end, in_th_step, sc_th_start, sc_th_end, sc_th_step;
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
  str_target = file_lines[last_read_line++];
  for (int ri = 0; ri < 6; ri++) {
    regex_search(str_target, m, re);
@@ -365,7 +365,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
  if (ies != 0) ies = 1;
  double _exdc, _wp, _xip;
  str_target = file_lines[++last_read_line];
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
  for (int ri = 0; ri < 3; ri++) {
    regex_search(str_target, m, re);
    string str_number = m.str();
@@ -396,7 +396,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
      double xi;
      List<double> xi_vector;
      str_target = file_lines[++last_read_line];
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
      regex_search(str_target, m, re);
      string str_number = m.str();
      str_number = regex_replace(str_number, regex("D"), "e");
@@ -416,7 +416,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
    } else { // instpc >= 1: the variable vector is defined in steps
      double xi, xi_step;
      str_target = file_lines[++last_read_line];
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
      regex_search(str_target, m, re);
      for (int ri = 0; ri < 2; ri++) {
	regex_search(str_target, m, re);
@@ -439,7 +439,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
      double vs;
      for (int jxi_r = 0; jxi_r < nxi; jxi_r++) {
	str_target = file_lines[++last_read_line];
	re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
	re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
	regex_search(str_target, m, re);
	string str_number = m.str();
	str_number = regex_replace(str_number, regex("D"), "e");
@@ -467,7 +467,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
    } else { // The variable vector needs to be computed in steps
      double vs, vs_step;
      str_target = file_lines[++last_read_line];
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
      regex_search(str_target, m, re);
      for (int ri = 0; ri < 2; ri++) {
	regex_search(str_target, m, re);
@@ -537,7 +537,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
    regex_search(str_target, m, re);
    i_val = stoi(m.str());
    str_target = m.suffix();
    re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
    re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
    regex_search(str_target, m, re);
    string str_number = m.str();
    str_number = regex_replace(str_number, regex("D"), "e");
@@ -569,7 +569,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
      dc0m[dim1][dim2] = new complex<double>[nxi]();
    }
  }
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
  for (int jxi468 = 1; jxi468 <= nxi; jxi468++) {
    if (_idfc != 0 && jxi468 > 1) continue;
    for (int i162 = 1; i162 <= nsph; i162++) {