diff --git a/src/users/response_behaviors.cpp b/src/users/response_behaviors.cpp index 61162fab821a8c0c70390262bc0dfec70c6aafe0..d9a32d4dbf54698af65de4906ab0fc007dbcfe86 100644 --- a/src/users/response_behaviors.cpp +++ b/src/users/response_behaviors.cpp @@ -56,7 +56,15 @@ bool reconfig_job(shared_ptr<Job> job, Profile *profile, double alpha, * => T_n = (orig_nb_core / n)^alpha * T_orig */ long T_orig = std::stol(job->profile); - long T_n = pow((double)orig_nb_core / n, alpha) * T_orig; + long T_n; + if (orig_nb_core%n != 0 || alpha != 1.0) + { + T_n =(long) (( pow((double)orig_nb_core / n, alpha) )* (double) T_orig); + } + else + { + T_n = orig_nb_core/n *T_orig; + } Parser::profile_from_duration( profile, std::to_string(T_n), user->user_name); // parallel_homogeneous job->nb_requested_resources = n;