Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Explicit cast when loosing precision (C examples).
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 9 Jul 2020 10:34:47 +0000 (12:34 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 9 Jul 2020 18:52:38 +0000 (20:52 +0200)
15 files changed:
examples/c/app-bittorrent/bittorrent-peer.c
examples/c/app-bittorrent/tracker.c
examples/c/app-chainsend/broadcaster.c
examples/c/app-masterworker/app-masterworker.c
examples/c/app-token-ring/app-token-ring.c
examples/c/cloud-capping/cloud-capping.c
examples/c/cloud-masterworker/cloud-masterworker.c
examples/c/comm-wait/comm-wait.c
examples/c/comm-waitall/comm-waitall.c
examples/c/comm-waitany/comm-waitany.c
examples/c/dht-kademlia/dht-kademlia.c
examples/c/dht-pastry/dht-pastry.c
examples/c/energy-exec-ptask/energy-exec-ptask.c
examples/c/platform-failures/platform-failures.c
examples/smpi/replay_multiple/replay_multiple.c

index 82698bf..408d3f1 100644 (file)
@@ -79,7 +79,7 @@ void peer(int argc, char* argv[])
   xbt_assert(argc == 3 || argc == 4, "Wrong number of arguments");
 
   // Build peer object
-  peer_t peer = peer_init(xbt_str_parse_int(argv[1], "Invalid ID: %s"), argc == 4 ? 1 : 0);
+  peer_t peer = peer_init((int)xbt_str_parse_int(argv[1], "Invalid ID: %s"), argc == 4 ? 1 : 0);
 
   // Retrieve deadline
   peer->deadline = xbt_str_parse_double(argv[2], "Invalid deadline: %s");
index dcee75f..09900f7 100644 (file)
@@ -58,7 +58,7 @@ void tracker(int argc, char* argv[])
       // Sending peers to the requesting peer
       tracker_answer_t ta = tracker_answer_new(TRACKER_QUERY_INTERVAL);
       int next_peer;
-      int peers_length = xbt_dynar_length(peers_list);
+      int peers_length = (int)xbt_dynar_length(peers_list);
       for (int i = 0; i < MAXIMUM_PEERS && i < peers_length; i++) {
         do {
           next_peer = xbt_dynar_get_as(peers_list, rand() % peers_length, int);
index 9444caa..a5b8e6a 100644 (file)
@@ -75,7 +75,7 @@ void broadcaster(int argc, char* argv[])
 {
   XBT_DEBUG("broadcaster");
   xbt_assert(argc > 2);
-  unsigned int host_count = xbt_str_parse_int(argv[1], "Invalid number of peers: %s");
+  unsigned int host_count = (unsigned int)xbt_str_parse_int(argv[1], "Invalid number of peers: %s");
 
   sg_mailbox_t* mailboxes = xbt_malloc(sizeof(sg_mailbox_t) * host_count);
 
@@ -86,7 +86,7 @@ void broadcaster(int argc, char* argv[])
     free(name);
   }
 
-  unsigned int piece_count = xbt_str_parse_int(argv[2], "Invalid number of pieces: %s");
+  unsigned int piece_count = (unsigned int)xbt_str_parse_int(argv[2], "Invalid number of pieces: %s");
 
   broadcaster_t bc = broadcaster_init(mailboxes, host_count, piece_count);
 
index 1db37f7..6137c8b 100644 (file)
@@ -23,7 +23,7 @@ static void master(int argc, char* argv[])
   xbt_assert(argc == 5, "The master function expects 4 arguments from the XML deployment file");
   long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s");       /* - Number of tasks      */
   double comp_size     = xbt_str_parse_double(argv[2], "Invalid computational size: %s"); /* - Compute cost    */
-  double comm_size     = xbt_str_parse_double(argv[3], "Invalid communication size: %s"); /* - Communication size */
+  long comm_size       = xbt_str_parse_int(argv[3], "Invalid communication size: %s");    /* - Communication size */
   long workers_count   = xbt_str_parse_int(argv[4], "Invalid amount of workers: %s");     /* - Number of workers    */
 
   XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks);
index 1484d2b..69c6fc1 100644 (file)
@@ -23,7 +23,7 @@ static void relay_runner(int argc, char* argv[])
   xbt_assert(argc == 0, "The relay_runner function does not accept any parameter from the XML deployment file");
 
   const char* name = sg_actor_self_get_name();
-  int rank         = xbt_str_parse_int(name, "Any actor of this example must have a numerical name, not %s");
+  int rank         = (int)xbt_str_parse_int(name, "Any actor of this example must have a numerical name, not %s");
 
   sg_mailbox_t my_mailbox = sg_mailbox_by_name(name);
 
index aafc0dc..bc3de02 100644 (file)
@@ -20,7 +20,7 @@ static void worker_main(int argc, char* argv[])
 {
   xbt_assert(argc == 4);
   double computation_amount = xbt_str_parse_double(argv[1], "Invalid computation amount: %s");
-  int use_bound             = xbt_str_parse_int(argv[2], "Second parameter (use_bound) should be 0 or 1 but is: %s");
+  int use_bound             = !!xbt_str_parse_int(argv[2], "Second parameter (use_bound) should be 0 or 1 but is: %s");
   double bound              = xbt_str_parse_double(argv[3], "Invalid bound: %s");
 
   double clock_sta = simgrid_get_clock();
index c58c30d..1e54f2d 100644 (file)
@@ -21,7 +21,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(cloud_masterworker, "Messages specific for this exa
 #define FINALIZE 221297 /* a magic number to tell people to stop working */
 
 const double comp_size = 10000000;
-const double comm_size = 10000000;
+const long comm_size   = 10000000;
 
 static void send_tasks(int nb_workers)
 {
index 6119863..142dcf7 100644 (file)
@@ -21,7 +21,7 @@ static void sender(int argc, char* argv[])
 {
   xbt_assert(argc == 5, "The sender function expects 4 arguments from the XML deployment file");
   long messages_count     = xbt_str_parse_int(argv[1], "Invalid amount of messages: %s");  /* - number of messages */
-  double message_size     = xbt_str_parse_double(argv[2], "Invalid message size: %s");     /* - communication cost */
+  long message_size       = xbt_str_parse_int(argv[2], "Invalid message size: %s");        /* - communication cost */
   double sleep_start_time = xbt_str_parse_double(argv[3], "Invalid sleep start time: %s"); /* - start time */
   double sleep_test_time  = xbt_str_parse_double(argv[4], "Invalid test time: %s");        /* - test time */
 
index 1992205..d6aca01 100644 (file)
@@ -69,7 +69,7 @@ static void sender(int argc, char* argv[])
 static void receiver(int argc, char* argv[])
 {
   xbt_assert(argc == 2, "Expecting one parameter from the XML deployment file but got %d", argc);
-  int id = xbt_str_parse_int(argv[1], "ID should be numerical, not %s");
+  int id = (int)xbt_str_parse_int(argv[1], "ID should be numerical, not %s");
   char mailbox_name[80];
   snprintf(mailbox_name, 79, "receiver-%d", id);
   sg_mailbox_t mbox = sg_mailbox_by_name(mailbox_name);
index 248a219..cd99dd3 100644 (file)
@@ -82,7 +82,7 @@ static void sender(int argc, char* argv[])
 static void receiver(int argc, char* argv[])
 {
   xbt_assert(argc == 2, "Expecting one parameter from the XML deployment file but got %d", argc);
-  int id = xbt_str_parse_int(argv[1], "ID should be numerical, not %s");
+  int id = (int)xbt_str_parse_int(argv[1], "ID should be numerical, not %s");
   char mailbox_name[80];
   snprintf(mailbox_name, 79, "receiver-%d", id);
   sg_mailbox_t mbox = sg_mailbox_by_name(mailbox_name);
index 887bc1c..6313034 100644 (file)
@@ -27,12 +27,12 @@ static void node(int argc, char* argv[])
   double deadline;
   xbt_assert(argc == 3 || argc == 4, "Wrong number of arguments");
   /* Node initialization */
-  unsigned int id = strtoul(argv[1], NULL, 0);
+  unsigned int id = (unsigned int)strtoul(argv[1], NULL, 0);
   node_t node     = node_init(id);
 
   if (argc == 4) {
     XBT_INFO("Hi, I'm going to join the network with id %s", sg_mailbox_get_name(node->mailbox));
-    unsigned int id_known = strtoul(argv[2], NULL, 0);
+    unsigned int id_known = (unsigned int)strtoul(argv[2], NULL, 0);
     join_success          = join(node, id_known);
     deadline              = strtod(argv[3], NULL);
   } else {
index e6d6919..7fcc0b2 100644 (file)
@@ -13,7 +13,6 @@
 #include "xbt/str.h"
 #include "xbt/sysdep.h"
 
-#include <math.h>
 #include <stdio.h>
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(pastry, "Messages specific for this example");
@@ -83,7 +82,7 @@ unsigned int domain_mask = 0;
 static int domain(unsigned int a, unsigned int level)
 {
   if (domain_mask == 0)
-    domain_mask = pow(2, DOMAIN_SIZE) - 1;
+    domain_mask = (1u << DOMAIN_SIZE) - 1;
   unsigned int shift = (LEVELS_COUNT - level - 1) * DOMAIN_SIZE;
   return (a >> shift) & domain_mask;
 }
@@ -446,7 +445,7 @@ static void node(int argc, char* argv[])
   double deadline;
   xbt_assert(argc == 3 || argc == 5, "Wrong number of arguments for this node");
   s_node_t node         = {0};
-  node.id               = xbt_str_parse_int(argv[1], "Invalid ID: %s");
+  node.id               = (int)xbt_str_parse_int(argv[1], "Invalid ID: %s");
   node.known_id         = -1;
   node.ready            = -1;
   node.pending_messages = xbt_dynar_new(sizeof(pastry_message_t), NULL);
@@ -473,7 +472,7 @@ static void node(int argc, char* argv[])
     XBT_DEBUG("Create a new Pastry ring...");
     join_success = 1;
   } else {
-    node.known_id     = xbt_str_parse_int(argv[2], "Invalid known ID: %s");
+    node.known_id     = (int)xbt_str_parse_int(argv[2], "Invalid known ID: %s");
     double sleep_time = xbt_str_parse_double(argv[3], "Invalid sleep time: %s");
     deadline          = xbt_str_parse_double(argv[4], "Invalid deadline: %s");
 
@@ -521,12 +520,12 @@ int main(int argc, char* argv[])
   while (!strncmp(options[0], "-", 1)) {
     int length = strlen("-nb_bits=");
     if (!strncmp(options[0], "-nb_bits=", length) && strlen(options[0]) > length) {
-      nb_bits = xbt_str_parse_int(options[0] + length, "Invalid nb_bits parameter: %s");
+      nb_bits = (int)xbt_str_parse_int(options[0] + length, "Invalid nb_bits parameter: %s");
       XBT_DEBUG("Set nb_bits to %d", nb_bits);
     } else {
       length = strlen("-timeout=");
       if (!strncmp(options[0], "-timeout=", length) && strlen(options[0]) > length) {
-        timeout = xbt_str_parse_int(options[0] + length, "Invalid timeout parameter: %s");
+        timeout = (int)xbt_str_parse_int(options[0] + length, "Invalid timeout parameter: %s");
         XBT_DEBUG("Set timeout to %d", timeout);
       } else {
         xbt_die("Invalid pastry option '%s'", options[0]);
index 7249e01..54ac870 100644 (file)
@@ -17,7 +17,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(energy_exec_ptask, "Messages specific for this exam
 static void runner(int argc, char* argv[])
 {
   /* Retrieve the list of all hosts as an array of hosts */
-  int host_count   = sg_host_count();
+  int host_count   = (int)sg_host_count();
   sg_host_t* hosts = sg_host_list();
 
   XBT_INFO("First, build a classical parallel task, with 1 Gflop to execute on each node, "
index cdb4edf..34e0eaf 100644 (file)
@@ -25,7 +25,7 @@ static void master(int argc, char* argv[])
   xbt_assert(argc == 5);
   long number_of_tasks  = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s");
   double task_comp_size = xbt_str_parse_double(argv[2], "Invalid computational size: %s");
-  double task_comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s");
+  long task_comm_size   = xbt_str_parse_int(argv[3], "Invalid communication size: %s");
   long workers_count    = xbt_str_parse_int(argv[4], "Invalid amount of workers: %s");
 
   XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks);
index 7ad646e..847873b 100644 (file)
@@ -16,7 +16,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example")
 static void smpi_replay(int argc, char* argv[])
 {
   const char* instance_id    = argv[1];
-  int rank                   = xbt_str_parse_int(argv[2], "Cannot parse rank '%s'");
+  int rank                   = (int)xbt_str_parse_int(argv[2], "Cannot parse rank '%s'");
   const char* trace_filename = argv[3];
   double start_delay_flops   = 0;
 
@@ -52,7 +52,7 @@ int main(int argc, char *argv[]){
 
     const char** line_char= xbt_dynar_to_array(elems);
     instance_id = line_char[0];
-    int instance_size     = xbt_str_parse_int(line_char[2], "Invalid size: %s");
+    int instance_size     = (int)xbt_str_parse_int(line_char[2], "Invalid size: %s");
 
     XBT_INFO("Initializing instance %s of size %d", instance_id, instance_size);
     SMPI_app_instance_register(instance_id, smpi_replay,instance_size);