/** Sender function */
int sender(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long receivers_count = atol(argv[4]);
- double sleep_start_time = atof(argv[5]);
- double sleep_test_time = atof(argv[6]);
+ 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 compute size: %s");
+ double task_comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s");
+ long receivers_count = xbt_str_parse_int(argv[4], "Invalid amount of receivers: %s");
+ double sleep_start_time = xbt_str_parse_double(argv[5], "Invalid sleep start time: %s");
+ double sleep_test_time = xbt_str_parse_double(argv[6], "Invalid test time: %s");
XBT_INFO("sleep_start_time : %f , sleep_test_time : %f", sleep_start_time,
sleep_test_time);
/** Sender function */
int sender(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long receivers_count = atol(argv[4]);
+ 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 receivers_count = xbt_str_parse_int(argv[4], "Invalid amount of receivers: %s");
msg_comm_t *comm = xbt_new(msg_comm_t, number_of_tasks + receivers_count);
int i;
/** Sender function */
int sender(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long receivers_count = atol(argv[4]);
- int diff_com = atol(argv[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 receivers_count = xbt_str_parse_int(argv[4], "Invalid amount of receivers: %s");
+ int diff_com = xbt_str_parse_int(argv[5], "Invalid value for diff_comm: %s");
double coef = 0;
xbt_dynar_t d = xbt_dynar_new(sizeof(msg_comm_t), NULL);
int i;
MSG_create_environment(argv[1]);
- number_of_jobs = atol(argv[2]);
- number_of_slaves = atol(argv[3]);
+ number_of_jobs = xbt_str_parse_int(argv[2], "Invalid amount of jobs: %s");
+ number_of_slaves = xbt_str_parse_int(argv[3], "Invalid amount of slaves: %s");
xbt_dynar_t host_dynar = MSG_hosts_as_dynar();
long number_max = xbt_dynar_length(host_dynar);
XBT_INFO("Got %ld slaves, %ld tasks to process, and %ld hosts", number_of_slaves, number_of_jobs,number_max);
#include <stdio.h>
#include "simgrid/msg.h" /* Yeah! If you want to use msg, you need to include simgrid/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "xbt/sysdep.h"
/* Create a log channel to have nice outputs. */
#include "xbt/log.h"
int master(int argc, char *argv[]);
int slave(int argc, char *argv[]);
-/** Emitter function */
+/** Sender function */
int master(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long slaves_count = atol(argv[4]);
+ 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 slaves_count = xbt_str_parse_int(argv[4], "Invalid amount of slaves: %s");
int i;
- XBT_INFO("Got %ld slaves and %ld tasks to process", slaves_count,
- number_of_tasks);
+ XBT_INFO("Got %ld slaves and %ld tasks to process", slaves_count, number_of_tasks);
for (i = 0; i < number_of_tasks; i++) {
char mailbox[256];
int master(int argc, char *argv[]);
int slave(int argc, char *argv[]);
-/** Emitter function */
+/** sender function */
int master(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- long slaves_count = atol(argv[4]);
+ long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s");
+ long slaves_count = xbt_str_parse_int(argv[4], "Invalid amount of slaves: %s");
int i;
for (i = 0; i < number_of_tasks; i++) {
int master(int argc, char *argv[]);
int slave(int argc, char *argv[]);
-/** Emitter function */
+/** sender function */
int master(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long slaves_count = atol(argv[4]);
+ 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 slaves_count = xbt_str_parse_int(argv[4], "Invalid amount of slaves: %s");
//setting the variable "is_master" (previously declared) to value 1
TRACE_host_variable_set(MSG_host_get_name(MSG_host_self()), "is_master", 1);
int master_mpi(int argc, char *argv[]);
int alltoall_mpi(int argc, char *argv[]);
-/** Emitter function */
+/** sender function */
int master(int argc, char *argv[])
{
- long number_of_tasks = atol(argv[1]);
- double task_comp_size = atof(argv[2]);
- double task_comm_size = atof(argv[3]);
- long slaves_count = atol(argv[4]);
+ 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 slaves_count = xbt_str_parse_int(argv[4], "Invalid amount of slaves: %s");
int i;
- XBT_INFO("Got %ld slaves and %ld tasks to process", slaves_count,
- number_of_tasks);
+ XBT_INFO("Got %ld slaves and %ld tasks to process", slaves_count, number_of_tasks);
for (i = 0; i < number_of_tasks; i++) {
char mailbox[256];
xbt_die("Malformed radical for smpi factor: '%s'", smpi_coef_string);
for(i =0; i<xbt_dynar_length(radical_elements2);i++ ){
if (i==0){
- fact.factor = atol(xbt_dynar_get_as(radical_elements2, i, char *));
+ fact.factor = xbt_str_parse_int(xbt_dynar_get_as(radical_elements2, i, char *),
+ bprintf("Invalid factor in chunk #%d: %%s", iter+1));
}else{
- fact.values[fact.nb_values] = atof(xbt_dynar_get_as(radical_elements2, i, char *));
+ fact.values[fact.nb_values] = xbt_str_parse_double(xbt_dynar_get_as(radical_elements2, i, char *),
+ bprintf("Invalid factor value %d in chunk #%d: %%s", i, iter+1));
fact.nb_values++;
}
}
radical_elements2 = xbt_str_split(value, ":");
if (xbt_dynar_length(radical_elements2) != 2)
surf_parse_error("Malformed radical for smpi factor!");
- fact.factor = atol(xbt_dynar_get_as(radical_elements2, 0, char *));
- fact.value = atof(xbt_dynar_get_as(radical_elements2, 1, char *));
+
+ fact.factor = xbt_str_parse_int(xbt_dynar_get_as(radical_elements2, 0, char *),
+ bprintf("Invalid factor in chunk #%d: %%s", iter+1));
+ fact.value = xbt_str_parse_double(xbt_dynar_get_as(radical_elements2, 1, char *),
+ bprintf("Invalid factor value in chunk #%d: %%s", iter+1));
+
xbt_dynar_push_as(smpi_factor, s_smpi_factor_t, fact);
XBT_DEBUG("smpi_factor:\t%ld : %f", fact.factor, fact.value);
xbt_dynar_free(&radical_elements2);
xbt_assert(sep>0);
data->filename=xbt_strdup(sep+1);
*sep='\0';
- data->limit=atol(buf);
+ char *endptr;
+ data->limit=strtol(buf,&endptr,10);
+ xbt_assert(endptr[0]=='\0', "Invalid buffer size: %s", buf);
+ xbt_free(buf);
if(roll)
data->count=-1;
else