Refactor code according to static analyzers

This commit is contained in:
Max Luebke 2024-04-08 09:19:48 +00:00
parent 8d254f334e
commit b8fd16a8d9
7 changed files with 31 additions and 39 deletions

View File

@ -13,8 +13,6 @@
#include <string>
#include <vector>
constexpr uint32_t MB_FACTOR = 1E6;
std::vector<double>
inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
const std::vector<double> &from,
@ -22,20 +20,21 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
const std::vector<std::vector<double>> &output) {
std::vector<double> results = from;
const std::uint32_t buffer_size = input.size() + 1;
double buffer[buffer_size];
double from_rescaled;
// const std::uint32_t buffer_size = input.size() + 1;
// double buffer[buffer_size];
// double from_rescaled;
const std::uint32_t data_set_n = input.size();
double rescaled[to_calc.size()][data_set_n + 1];
double weights[data_set_n];
// rescaling over all key elements
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
key_comp_i++) {
const auto output_comp_i = to_calc[key_comp_i];
// rescale input between 0 and 1
for (int point_i = 0; point_i < data_set_n; point_i++) {
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
rescaled[key_comp_i][point_i] = input[point_i][key_comp_i];
}
@ -46,7 +45,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
const double max = *std::max_element(rescaled[key_comp_i],
rescaled[key_comp_i] + data_set_n + 1);
for (int point_i = 0; point_i < data_set_n; point_i++) {
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
rescaled[key_comp_i][point_i] =
((max - min) != 0
? (rescaled[key_comp_i][point_i] - min) / (max - min)
@ -58,9 +57,10 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
// calculate distances for each data set
double inv_sum = 0;
for (int point_i = 0; point_i < data_set_n; point_i++) {
for (std::uint32_t point_i = 0; point_i < data_set_n; point_i++) {
double distance = 0;
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
key_comp_i++) {
distance += std::pow(
rescaled[key_comp_i][point_i] - rescaled[key_comp_i][data_set_n], 2);
}
@ -75,7 +75,8 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
// bool has_h = false;
// bool has_o = false;
for (int key_comp_i = 0; key_comp_i < to_calc.size(); key_comp_i++) {
for (std::uint32_t key_comp_i = 0; key_comp_i < to_calc.size();
key_comp_i++) {
const auto output_comp_i = to_calc[key_comp_i];
double key_delta = 0;
@ -87,7 +88,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
// has_o = true;
// }
for (int j = 0; j < data_set_n; j++) {
for (std::uint32_t j = 0; j < data_set_n; j++) {
key_delta += weights[j] * output[j][output_comp_i];
}
@ -157,7 +158,7 @@ inverseDistanceWeighting(const std::vector<std::int32_t> &to_calc,
poet::ChemistryModule::ChemistryModule(
uint32_t wp_size_, const InitialList::ChemistryInit chem_params,
MPI_Comm communicator)
: params(chem_params), wp_size(wp_size_), group_comm(communicator) {
: group_comm(communicator), wp_size(wp_size_), params(chem_params) {
MPI_Comm_rank(communicator, &comm_rank);
MPI_Comm_size(communicator, &comm_size);
@ -306,9 +307,9 @@ void poet::ChemistryModule::initializeInterp(
if (key_species.empty()) {
map_copy = this->dht->getKeySpecies();
for (std::size_t i = 0; i < map_copy.size(); i++) {
for (auto i = 0; i < map_copy.size(); i++) {
const std::uint32_t signif =
map_copy[i] - (map_copy[i] > InterpolationModule::COARSE_DIFF
static_cast<std::uint32_t>(map_copy[i]) - (map_copy[i] > InterpolationModule::COARSE_DIFF
? InterpolationModule::COARSE_DIFF
: 0);
map_copy[i] = signif;

View File

@ -69,7 +69,8 @@ public:
auto GetChemistryTime() const { return this->chem_t; }
void setFilePadding(std::uint32_t maxiter) {
this->file_pad = std::ceil(std::log10(maxiter + 1));
this->file_pad =
static_cast<std::uint8_t>(std::ceil(std::log10(maxiter + 1)));
}
struct SurrogateSetup {
@ -365,7 +366,7 @@ protected:
bool print_progessbar{false};
std::uint32_t file_pad{1};
std::uint8_t file_pad{1};
double chem_t{0.};

View File

@ -20,8 +20,8 @@ void InitialList::importList(const Rcpp::List &setup) {
Rcpp::NumericVector grid_specs =
setup[static_cast<int>(ExportList::GRID_SPECS)];
this->n_rows = grid_specs[0];
this->n_cols = grid_specs[1];
this->n_rows = static_cast<std::uint32_t>(grid_specs[0]);
this->n_cols = static_cast<std::uint32_t>(grid_specs[1]);
Rcpp::NumericVector spatial =
setup[static_cast<int>(ExportList::GRID_SPATIAL)];

View File

@ -92,13 +92,13 @@ private:
void prepareGrid(const Rcpp::List &grid_input);
std::uint8_t dim;
std::uint8_t dim{0};
std::uint32_t n_cols;
std::uint32_t n_rows;
std::uint32_t n_cols{0};
std::uint32_t n_rows{0};
double s_cols;
double s_rows;
double s_cols{0};
double s_rows{0};
std::vector<std::uint32_t> constant_cells;
std::vector<double> porosity;

View File

@ -85,7 +85,7 @@ private:
* @brief time spent for transport
*
*/
double transport_t = 0.f;
double transport_t = 0.;
};
} // namespace poet

View File

@ -25,10 +25,6 @@ int main(int argc, char **argv) {
Rcpp::List setup = R["setup"];
// Rcpp::List grid = R.parseEval("setup$grid");
// Rcpp::List results;
poet::InitialList init(R);
init.initializeFromList(setup);

View File

@ -76,8 +76,7 @@ void writeFieldsToR(RInside &R, const Field &trans, const Field &chem) {
enum ParseRet { PARSER_OK, PARSER_ERROR, PARSER_HELP };
ParseRet parseInitValues(char **argv, RInsidePOET &R,
RuntimeParameters &params) {
ParseRet parseInitValues(char **argv, RuntimeParameters &params) {
// initialize argh object
argh::parser cmdl(argv);
@ -222,7 +221,7 @@ ParseRet parseInitValues(char **argv, RInsidePOET &R,
return ParseRet::PARSER_OK;
}
static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters &params,
static Rcpp::List RunMasterLoop(const RuntimeParameters &params,
DiffusionModule &diffusion,
ChemistryModule &chem) {
@ -230,8 +229,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters &params,
* master for the following loop) */
uint32_t maxiter = params.timesteps.size();
double sim_time = .0;
if (params.print_progressbar) {
chem.setProgressBarPrintout(true);
}
@ -241,7 +238,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters &params,
double dSimTime{0};
for (uint32_t iter = 1; iter < maxiter + 1; iter++) {
double start_t = MPI_Wtime();
uint32_t tick = 0;
const double &dt = params.timesteps[iter - 1];
@ -325,8 +321,6 @@ static Rcpp::List RunMasterLoop(RInside &R, const RuntimeParameters &params,
}
int main(int argc, char *argv[]) {
double dSimTime, sim_end;
int world_size;
MPI_Init(&argc, &argv);
@ -343,7 +337,7 @@ int main(int argc, char *argv[]) {
RuntimeParameters run_params;
switch (parseInitValues(argv, R, run_params)) {
switch (parseInitValues(argv, run_params)) {
case ParseRet::PARSER_ERROR:
case ParseRet::PARSER_HELP:
MPI_Finalize();
@ -401,7 +395,7 @@ int main(int argc, char *argv[]) {
chemistry.masterSetField(init_list.getInitialGrid());
Rcpp::List profiling = RunMasterLoop(R, run_params, diffusion, chemistry);
Rcpp::List profiling = RunMasterLoop(run_params, diffusion, chemistry);
MSG("finished simulation loop");