/* A few crash tests for the maxmin library */
-/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2020. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "simgrid/s4u/Engine.hpp"
#include "src/kernel/lmm/maxmin.hpp"
-#include "simgrid/msg.h"
#include "xbt/module.h"
#include "xbt/sysdep.h" /* time manipulation for benchmarking */
#include "xbt/xbt_os_time.h"
-#define MYRANDMAX 1000
-
#include <cstdint>
#include <cstdio>
#include <cstdlib>
static double float_random(double max)
{
+ constexpr double MYRANDMAX = 1000.0;
return ((max * myrand()) / (MYRANDMAX + 1.0));
}
static unsigned int int_random(int max)
{
- return static_cast<uint32_t>(((max * 1.0) * myrand()) / (MYRANDMAX + 1.0));
+ return static_cast<uint32_t>(float_random(max));
}
static void test(int nb_cnst, int nb_var, int nb_elem, unsigned int pw_base_limit, unsigned int pw_max_limit,
float rate_no_limit, int max_share, int mode)
{
- simgrid::kernel::lmm::Constraint* cnst[nb_cnst];
- simgrid::kernel::lmm::Variable* var[nb_var];
- int used[nb_cnst];
+ simgrid::kernel::lmm::Constraint** cnst = new simgrid::kernel::lmm::Constraint*[nb_cnst];
+ simgrid::kernel::lmm::Variable** var = new simgrid::kernel::lmm::Variable*[nb_var];
+ int* used = new int[nb_cnst];
/* We cannot activate the selective update as we pass nullptr as an Action when creating the variables */
simgrid::kernel::lmm::System* Sys = new simgrid::kernel::lmm::System(false);
for (int i = 0; i < nb_var; i++)
Sys->variable_free(var[i]);
delete Sys;
+ delete[] cnst;
+ delete[] var;
+ delete[] used;
}
unsigned int TestClasses [][4]=
int main(int argc, char **argv)
{
- MSG_init(&argc, argv);
+ simgrid::s4u::Engine e(&argc, argv);
float rate_no_limit=0.2;
float acc_date=0;