您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xbt_dynar_push函数代码示例

51自学网 2021-06-03 10:15:29
  C++
这篇教程C++ xbt_dynar_push函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中xbt_dynar_push函数的典型用法代码示例。如果您正苦于以下问题:C++ xbt_dynar_push函数的具体用法?C++ xbt_dynar_push怎么用?C++ xbt_dynar_push使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了xbt_dynar_push函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: surf_new_model_init_default

void surf_new_model_init_default(void){    surf_new_model_init_internal();    new_model_define_callbacks();    xbt_dynar_push(model_list, &surf_new_model);}
开发者ID:ricardojrdez,项目名称:simgrid,代码行数:7,


示例2: STag_surfxml_include

void STag_surfxml_include(void){  XBT_DEBUG("STag_surfxml_include '%s'",A_surfxml_include_file);  xbt_dynar_push(surf_parsed_filename_stack,&surf_parsed_filename); // save old file name  surf_parsed_filename = xbt_strdup(A_surfxml_include_file);  xbt_dynar_push(surf_file_to_parse_stack, &surf_file_to_parse); //save old file descriptor  surf_file_to_parse = surf_fopen(A_surfxml_include_file, "r"); // read new file descriptor  xbt_assert((surf_file_to_parse), "Unable to open /"%s/"/n",              A_surfxml_include_file);  xbt_dynar_push(surf_input_buffer_stack,&surf_input_buffer);  surf_input_buffer = surf_parse__create_buffer(surf_file_to_parse, YY_BUF_SIZE);  surf_parse_push_buffer_state(surf_input_buffer);  fflush(NULL);}
开发者ID:ricardojrdez,项目名称:simgrid,代码行数:17,


示例3: coordinator

static int coordinator(int argc, char *argv[]){  int CS_used = 0;     msg_task_t task = NULL, answer = NULL;   xbt_dynar_t requests = xbt_dynar_new(sizeof(char *), NULL);  char *req;  while(1){      MSG_task_receive(&task, "coordinator");    const char *kind = MSG_task_get_name(task);     if (!strcmp(kind, "request")) {          req = MSG_task_get_data(task);      if (CS_used) {                   XBT_INFO("CS already used. Queue the request.");        xbt_dynar_push(requests, &req);      } else {                       if(strcmp(req, "1") != 0){          XBT_INFO("CS idle. Grant immediatly");          answer = MSG_task_create("grant", 0, 1000, NULL);          MSG_task_send(answer, req);          CS_used = 1;          answer = NULL;        }      }    } else {      if (!xbt_dynar_is_empty(requests)) {        XBT_INFO("CS release. Grant to queued requests (queue size: %lu)", xbt_dynar_length(requests));        xbt_dynar_shift(requests, &req);        if(strcmp(req, "1") != 0){          MSG_task_send(MSG_task_create("grant", 0, 1000, NULL), req);        }else{          xbt_dynar_push(requests, &req);          CS_used = 0;        }      }else{        XBT_INFO("CS release. resource now idle");        CS_used = 0;      }    }    MSG_task_destroy(task);    task = NULL;    kind = NULL;    req = NULL;  }  return 0;}
开发者ID:glesserd,项目名称:simgrid,代码行数:46,


示例4: SD_task_get_ready_children

/* Build the set of the compute successors of a task that are ready (i.e., with all parents already scheduled). Both * data and control dependencies are checked. As more than one transfer may exist between two compute tasks, it is * mandatory to check whether the successor is not already in the set. */xbt_dynar_t SD_task_get_ready_children(SD_task_t t){  unsigned int i;  xbt_dynar_t children=NULL, ready_children;  xbt_dynar_t output_transfers = SD_task_get_children(t);  SD_task_t output, child;  ready_children = xbt_dynar_new(sizeof(SD_task_t), NULL);  xbt_dynar_foreach(output_transfers, i, output){    if (SD_task_get_kind(output) == SD_TASK_COMM_E2E) {      /* Data dependency case: a compute task is followed by a data transfer. Its child (in a scheduling sense) is       * then the grand child       */      children = SD_task_get_children(output);      xbt_dynar_get_cpy(children, 0, &child);      /* check if this child is already in the set */      if (xbt_dynar_member(ready_children, &child)){        XBT_DEBUG("%s already seen, ignore", SD_task_get_name(child));        xbt_dynar_free_container(&children); /* avoid memory leaks */        continue;      }      if (SD_task_get_kind(child) == SD_TASK_COMP_SEQ && (SD_task_get_state(child) == SD_NOT_SCHEDULED ||           SD_task_get_state(child) == SD_SCHEDULABLE) && SD_task_is_ready(child)){        xbt_dynar_push(ready_children, &child);      }      xbt_dynar_free_container(&children); /* avoid memory leaks */    } else {      /* Control dependency case: a compute task successor is another compute task. */      /* check if this child is already in the set */      if (xbt_dynar_member(ready_children, &output)){        XBT_DEBUG("%s already seen, ignore", SD_task_get_name(output));        continue;      }      if (SD_task_get_kind(output) == SD_TASK_COMP_SEQ && (SD_task_get_state(output) == SD_NOT_SCHEDULED ||           SD_task_get_state(output) == SD_SCHEDULABLE)&& SD_task_is_ready(output)){        xbt_dynar_push(ready_children, &output);      }    }  }  xbt_dynar_free_container(&output_transfers); /* avoid memory leaks */  return ready_children;}
开发者ID:frs69wq,项目名称:EnsembleSched,代码行数:50,


示例5: surf_host_model_init_compound

void surf_host_model_init_compound(){  xbt_assert(surf_cpu_model_pm, "No CPU model defined yet!");  xbt_assert(surf_network_model, "No network model defined yet!");  surf_host_model = new simgrid::surf::HostCLM03Model();  xbt_dynar_push(all_existing_models, &surf_host_model);}
开发者ID:adegomme,项目名称:simgrid,代码行数:8,


示例6: surf_network_model_init_Constant

/********* * Model * *********/void surf_network_model_init_Constant(){  xbt_assert(surf_network_model == nullptr);  surf_network_model = new simgrid::surf::NetworkConstantModel();  xbt_dynar_push(all_existing_models, &surf_network_model);  routing_model_create(nullptr);}
开发者ID:dindon-sournois,项目名称:simgrid,代码行数:11,


示例7: surfxml_bufferstack_push

void surfxml_bufferstack_push(int new_one){  if (!new_one)    old_buff = surfxml_bufferstack;  else {    xbt_dynar_push(surfxml_bufferstack_stack, &surfxml_bufferstack);    surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size);  }}
开发者ID:R7R8,项目名称:simgrid,代码行数:9,


示例8: surf_host_model_init_current_default

void surf_host_model_init_current_default(void){  surf_host_model = new simgrid::surf::HostCLM03Model();  xbt_cfg_setdefault_boolean(_sg_cfg_set, "network/crosstraffic", "yes");  surf_cpu_model_init_Cas01();  surf_network_model_init_LegrandVelho();  xbt_dynar_push(all_existing_models, &surf_host_model);}
开发者ID:adegomme,项目名称:simgrid,代码行数:9,


示例9: master_fun

int master_fun(int argc, char *argv[]){  msg_vm_t vm;  unsigned int i;  xbt_dynar_t worker_pms = MSG_process_get_data(MSG_process_self());  int nb_workers = xbt_dynar_length(worker_pms);  xbt_dynar_t vms = xbt_dynar_new(sizeof(msg_vm_t), NULL);  /* Launch VMs and worker processes. One VM per PM, and one worker process per VM. */  XBT_INFO("# Launch %d VMs", nb_workers);  for (i = 0; i< nb_workers; i++) {    char *vm_name = bprintf("VM%02d", i);    char *pr_name = bprintf("WRK%02d", i);    msg_host_t pm = xbt_dynar_get_as(worker_pms, i, msg_host_t);    XBT_INFO("create %s on PM(%s)", vm_name, MSG_host_get_name(pm));    msg_vm_t vm = MSG_vm_create_core(pm, vm_name);    s_vm_params_t params;    memset(&params, 0, sizeof(params));    params.ramsize = 1L * 1024 * 1024 * 1024; // 1Gbytes    MSG_host_set_params(vm, &params);    MSG_vm_start(vm);    xbt_dynar_push(vms, &vm);    XBT_INFO("put a process (%s) on %s", pr_name, vm_name);    MSG_process_create(pr_name, worker_fun, NULL, vm);    xbt_free(vm_name);    xbt_free(pr_name);  }  /* Send a bunch of work to every one */  XBT_INFO("# Send a task to %d worker process", nb_workers);  send_tasks(nb_workers);  XBT_INFO("# Suspend all VMs");  xbt_dynar_foreach(vms, i, vm) {    const char *vm_name = MSG_host_get_name(vm);    XBT_INFO("suspend %s", vm_name);    MSG_vm_suspend(vm);  }  XBT_INFO("# Wait a while");  MSG_process_sleep(2);  XBT_INFO("# Resume all VMs");  xbt_dynar_foreach(vms, i, vm) {    MSG_vm_resume(vm);  }
开发者ID:apargupta,项目名称:simgrid,代码行数:57,


示例10: surf_network_model_init_Constant

/********* * Model * *********/void surf_network_model_init_Constant(){  xbt_assert(surf_network_model == NULL);  surf_network_model = new NetworkConstantModel();  sg_platf_host_add_cb(netcste_count_hosts);  ModelPtr model = surf_network_model;  xbt_dynar_push(model_list, &model);}
开发者ID:FlorianPO,项目名称:simgrid,代码行数:13,


示例11: tmgr_trace_new_from_string

tmgr_trace_t tmgr_trace_new_from_string(const char *name, const char *input, double periodicity){  int linecount = 0;  tmgr_event_t last_event = nullptr;  unsigned int cpt;  char *val;  xbt_assert(trace_list.find(name) == trace_list.end(), "Refusing to define trace %s twice", name);  xbt_assert(periodicity >= 0, "Invalid periodicity %g (must be positive)", periodicity);  tmgr_trace_t trace = new simgrid::trace_mgr::trace();  xbt_dynar_t list = xbt_str_split(input, "/n/r");  xbt_dynar_foreach(list, cpt, val) {    s_tmgr_event_t event;    linecount++;    xbt_str_trim(val, " /t/n/r/x0B");    if (val[0] == '#' || val[0] == '/0' || val[0] == '%') // pass comments      continue;    if (sscanf(val, "PERIODICITY " "%lg" "/n", &periodicity) == 1)      continue;    xbt_assert(sscanf(val, "%lg" " " "%lg" "/n", &event.delta, &event.value) == 2,        "%s:%d: Syntax error in trace/n%s", name, linecount, input);    if (last_event) {      xbt_assert(last_event->delta <= event.delta,          "%s:%d: Invalid trace: Events must be sorted, but time %g > time %g./n%s",          name, linecount, last_event->delta, event.delta, input);      last_event->delta = event.delta - last_event->delta;    } else {      if(event.delta > 0.0){        s_tmgr_event_t first_event;        first_event.delta=event.delta;        first_event.value=-1.0;        xbt_dynar_push(trace->event_list, &first_event);      }    }    xbt_dynar_push(trace->event_list, &event);    last_event = (tmgr_event_t)xbt_dynar_get_ptr(trace->event_list, xbt_dynar_length(trace->event_list) - 1);  }
开发者ID:dindon-sournois,项目名称:simgrid,代码行数:43,


示例12: syscall_dup_post

/** @brief handles dup at the exit    Update the table of file descriptors, and also the pipe objects if needed */void syscall_dup_post(reg_s * reg, process_descriptor_t * proc){  proc_outside(proc);  unsigned int oldfd = (int) reg->arg[0];  unsigned int newfd = (int) reg->ret;  fd_descriptor_t *file_desc = process_descriptor_get_fd(proc, oldfd);  file_desc->refcount++;  process_descriptor_set_fd(proc, newfd, file_desc);  if (strace_option)    fprintf(stderr, "[%d] dup(%d, %d) = %d /n", proc->pid, oldfd, newfd, (int) reg->ret);  if (file_desc->type == FD_PIPE) {    pipe_t *pipe = file_desc->pipe;    // look for the fd in the read end of the pipe    xbt_dynar_t read_end = pipe->read_end;    unsigned int cpt_in;    pipe_end_t end_in;    xbt_dynar_foreach(read_end, cpt_in, end_in) {      if (end_in->fd == oldfd && end_in->proc == proc) {        pipe_end_t dup_end = xbt_malloc0(sizeof(pipe_end_s));        dup_end->fd = newfd;        dup_end->proc = end_in->proc;        xbt_dynar_push(read_end, &dup_end);      }    }    // look for the fd in the write end of the pipe    xbt_dynar_t write_end = pipe->write_end;    unsigned int cpt_out;    pipe_end_t end_out;    xbt_dynar_foreach(write_end, cpt_out, end_out) {      if (end_out->fd == oldfd && end_out->proc == proc) {        pipe_end_t dup_end = xbt_malloc0(sizeof(pipe_end_s));        dup_end->fd = newfd;        dup_end->proc = end_out->proc;        xbt_dynar_push(write_end, &dup_end);      }    }  }
开发者ID:mquinson,项目名称:simterpose,代码行数:44,


示例13: xbt_str_split_str

/** * /brief This functions splits a string after using another string as separator * For example A!!B!!C splitted after !! will return the dynar {A,B,C} * /return An array of dynars containing the string tokens */xbt_dynar_t xbt_str_split_str(const char *s, const char *sep){  xbt_dynar_t res = xbt_dynar_new(sizeof(char *), &xbt_free_ref);  int done;  const char *p, *q;  p = q = s;  done = 0;  if (s[0] == '/0')    return res;  if (sep[0] == '/0') {    s = xbt_strdup(s);    xbt_dynar_push(res, &s);    return res;  }  while (!done) {    char *to_push;    int v = 0;    //get the start of the first occurence of the substring    q = strstr(p, sep);    //if substring was not found add the entire string    if (NULL == q) {      v = strlen(p);      to_push = xbt_malloc(v + 1);      memcpy(to_push, p, v);      to_push[v] = '/0';      xbt_dynar_push(res, &to_push);      done = 1;    } else {      //get the appearance      to_push = xbt_malloc(q - p + 1);      memcpy(to_push, p, q - p);      //add string terminator      to_push[q - p] = '/0';      xbt_dynar_push(res, &to_push);      p = q + strlen(sep);    }  }  return res;}
开发者ID:FlorianPO,项目名称:simgrid,代码行数:47,


示例14: jed_event_add_resources

void jed_event_add_resources(jed_event_t event, xbt_dynar_t host_selection) {  xbt_dynar_t resource_subset_list;  jed_res_subset_t res_set;  unsigned int i;  resource_subset_list = xbt_dynar_new(sizeof(jed_res_subset_t), NULL);  jed_simgrid_get_resource_selection_by_hosts(resource_subset_list, host_selection);  xbt_dynar_foreach(resource_subset_list, i, res_set)  {    xbt_dynar_push(event->resource_subsets, &res_set);  }
开发者ID:RockyMeadow,项目名称:simgrid,代码行数:11,


示例15: MSG_comm_testany

/** /ingroup msg_task_usage * /brief This function checks if a communication is finished. * /param comms a vector of communications * /return the position of the finished communication if any * (but it may have failed, use MSG_comm_get_status() to know its status), * or -1 if none is finished */int MSG_comm_testany(xbt_dynar_t comms){  xbt_ex_t e;  int finished_index = -1;  /* create the equivalent dynar with SIMIX objects */  xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_synchro_t), NULL);  msg_comm_t comm;  unsigned int cursor;  xbt_dynar_foreach(comms, cursor, comm) {    xbt_dynar_push(s_comms, &comm->s_comm);  }
开发者ID:tempbottle,项目名称:simgrid,代码行数:19,


示例16: tmgr_trace_new_from_string

tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input,                                        double periodicity){  tmgr_trace_t trace = NULL;  int linecount = 0;  s_tmgr_event_t event;  tmgr_event_t last_event = NULL;  xbt_dynar_t list;  unsigned int cpt;  char *val;  if (trace_list) {    trace = xbt_dict_get_or_null(trace_list, id);    if (trace) {      XBT_WARN("Ignoring redefinition of trace %s", id);      return trace;    }  }  xbt_assert(periodicity >= 0,              "Invalid periodicity %lg (must be positive)", periodicity);  trace = xbt_new0(s_tmgr_trace_t, 1);  trace->type = e_trace_list;  trace->s_list.event_list = xbt_dynar_new(sizeof(s_tmgr_event_t), NULL);  list = xbt_str_split(input, "/n/r");  xbt_dynar_foreach(list, cpt, val) {    linecount++;    xbt_str_trim(val, " /t/n/r/x0B");    if (val[0] == '#' || val[0] == '/0' || val[0] == '%')      continue;    if (sscanf(val, "PERIODICITY " "%lg" "/n", &periodicity) == 1)      continue;    if (sscanf(val, "%lg" " " "%lg" "/n", &event.delta, &event.value) != 2)      xbt_die("%s:%d: Syntax error in trace/n%s", id, linecount, input);    if (last_event) {      if (last_event->delta > event.delta) {        xbt_die("%s:%d: Invalid trace: Events must be sorted, "                "but time %lg > time %lg./n%s",                id, linecount, last_event->delta, event.delta, input);      }      last_event->delta = event.delta - last_event->delta;    }    xbt_dynar_push(trace->s_list.event_list, &event);    last_event =        xbt_dynar_get_ptr(trace->s_list.event_list,                          xbt_dynar_length(trace->s_list.event_list) - 1);  }
开发者ID:Shurakai,项目名称:SimGrid,代码行数:53,


示例17: sg_hosts_as_dynar

xbt_dynar_t sg_hosts_as_dynar(void){  xbt_dynar_t res = xbt_dynar_new(sizeof(sg_host_t),NULL);  xbt_dict_cursor_t cursor = nullptr;  const char* name = nullptr;  simgrid::s4u::Host* host = nullptr;  xbt_dict_foreach(host_list, cursor, name, host)    if (host && host->pimpl_netcard && host->pimpl_netcard->isHost())       xbt_dynar_push(res, &host);  return res;}
开发者ID:krytarowski,项目名称:simgrid,代码行数:12,


示例18: MSG_hosts_as_dynar

/** /ingroup m_host_management * /brief Return a dynar containing all the hosts declared at a given point of time */xbt_dynar_t MSG_hosts_as_dynar(void) {  xbt_lib_cursor_t cursor;  char *key;  void **data;  xbt_dynar_t res = xbt_dynar_new(sizeof(msg_host_t),NULL);  xbt_lib_foreach(host_lib, cursor, key, data) {    if(routing_get_network_element_type(key) == SURF_NETWORK_ELEMENT_HOST)      xbt_dynar_push(res, data + MSG_HOST_LEVEL);  }  return res;}
开发者ID:Shurakai,项目名称:SimGrid,代码行数:15,


示例19: surf_cpu_model_init_Cas01

/********* * Model * *********/void surf_cpu_model_init_Cas01(){  char *optim = xbt_cfg_get_string(_sg_cfg_set, "cpu/optim");  xbt_assert(!surf_cpu_model_pm);  xbt_assert(!surf_cpu_model_vm);  if (!strcmp(optim, "TI")) {    surf_cpu_model_init_ti();    return;  }  surf_cpu_model_pm = new CpuCas01Model();  surf_cpu_model_vm  = new CpuCas01Model();  cpu_define_callbacks();  ModelPtr model_pm = surf_cpu_model_pm;  ModelPtr model_vm = surf_cpu_model_vm;  xbt_dynar_push(model_list, &model_pm);  xbt_dynar_push(model_list, &model_vm);}
开发者ID:FlorianPO,项目名称:simgrid,代码行数:24,


示例20: xbt_queue_push

/** @brief Push something to the message exchange queue. * * This is blocking if the declared capacity is non-nul, and if this amount is reached. * * @see #xbt_dynar_push */void xbt_queue_push(xbt_queue_t queue, const void *src){  xbt_mutex_acquire(queue->mutex);  while (queue->capacity != 0         && queue->capacity == xbt_dynar_length(queue->data)) {    XBT_DEBUG("Capacity of %p exceeded (=%d). Waiting", queue,           queue->capacity);    xbt_cond_wait(queue->not_full, queue->mutex);  }  xbt_dynar_push(queue->data, src);  xbt_cond_signal(queue->not_empty);  xbt_mutex_release(queue->mutex);}
开发者ID:Shurakai,项目名称:SimGrid,代码行数:19,


示例21: get_idle_VMs

/* Build an array that contains all the idle hosts/VMs in the platform */xbt_dynar_t get_idle_VMs(){  int i;  const sg_host_t *hosts = sg_host_list();  int nhosts = sg_host_count();  xbt_dynar_t idleVMs = xbt_dynar_new(sizeof(sg_host_t), NULL);  for (i = 0; i < nhosts; i++){    if (is_on_and_idle(hosts[i]))      xbt_dynar_push(idleVMs, &(hosts[i]));  }  return idleVMs;}
开发者ID:frs69wq,项目名称:EnsembleSched,代码行数:14,


示例22: MSG_host_get_storage_content

/** /ingroup msg_host_management * /brief Return the content of mounted storages on an host. * /param host a host * /return a dynar containing content (as a dict) of all storages mounted on the host */xbt_dynar_t MSG_host_get_storage_content(msg_host_t host){  xbt_assert((host != NULL), "Invalid parameters");  xbt_dynar_t contents = xbt_dynar_new(sizeof(void *),NULL);  msg_storage_t storage;  char* storage_name;  unsigned int i;  xbt_dynar_t storage_list = simcall_host_get_storage_list(host);  xbt_dynar_foreach(storage_list, i, storage_name){	storage = xbt_lib_get_elm_or_null(storage_lib,storage_name);	xbt_dict_t content = simcall_storage_get_content(storage);	xbt_dynar_push(contents, &content);  }
开发者ID:cemsbr,项目名称:simgrid,代码行数:18,


示例23: action_Irecv

static void action_Irecv(const char *const *action){  char mailbox[250];  double clock = MSG_get_clock();  process_globals_t globals =      (process_globals_t) MSG_process_get_data(MSG_process_self());  XBT_DEBUG("Irecv on %s", MSG_process_get_name(MSG_process_self()));  sprintf(mailbox, "%s_%s", action[2],          MSG_process_get_name(MSG_process_self()));  msg_task_t t = NULL;  xbt_dynar_push(globals->tasks, &t);  msg_comm_t c =      MSG_task_irecv(xbt_dynar_get_ptr                     (globals->tasks, xbt_dynar_length(globals->tasks) - 1),                     mailbox);  xbt_dynar_push(globals->irecvs, &c);  log_action(action, MSG_get_clock() - clock);  asynchronous_cleanup();}
开发者ID:tempbottle,项目名称:simgrid,代码行数:22,


示例24: surf_network_model_init_IB

/*  } */void surf_network_model_init_IB(void){  if (surf_network_model)    return;  surf_network_model = new NetworkIBModel();  net_define_callbacks();  xbt_dynar_push(model_list, &surf_network_model);  surf_callback_connect(networkActionStateChangedCallbacks, IB_action_state_changed_callback);  surf_callback_connect(networkCommunicateCallbacks, IB_action_init_callback);  sg_platf_host_add_cb(IB_create_host_callback);  xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);  }
开发者ID:abronan,项目名称:simgrid,代码行数:16,


示例25: get_running_VMs

/* Build an array that contains all the busy hosts/VMs in the platform */xbt_dynar_t get_running_VMs(){  int i;  const sg_host_t *hosts = sg_host_list ();  int nhosts = sg_host_count ();  HostAttribute attr;  xbt_dynar_t runningVMs = xbt_dynar_new(sizeof(sg_host_t), NULL);  for (i = 0; i < nhosts; i++){    attr = sg_host_user(hosts[i]);    if (attr->on_off)      xbt_dynar_push(runningVMs, &(hosts[i]));  }  return runningVMs;}
开发者ID:frs69wq,项目名称:EnsembleSched,代码行数:16,


示例26: xbt_dynar_new

void *xbt_multidict_get(xbt_dict_t mdict, xbt_dynar_t keys){  xbt_dynar_t lens = xbt_dynar_new(sizeof(unsigned long int), NULL);  unsigned long i;  void *res;  for (i = 0; i < xbt_dynar_length(keys); i++) {    char *thiskey = xbt_dynar_get_as(keys, i, char *);    unsigned long int thislen = (unsigned long int) strlen(thiskey);    xbt_dynar_push(lens, &thislen);  }  res = xbt_multidict_get_ext(mdict, keys, lens), xbt_dynar_free(&lens);  return res;}
开发者ID:Shurakai,项目名称:SimGrid,代码行数:15,


示例27: get_ready_tasks

static xbt_dynar_t get_ready_tasks(xbt_dynar_t dax){  unsigned int i;  xbt_dynar_t ready_tasks;  SD_task_t task;  ready_tasks = xbt_dynar_new(sizeof(SD_task_t), NULL);  xbt_dynar_foreach(dax, i, task) {    if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ && SD_task_get_state(task) == SD_SCHEDULABLE) {      xbt_dynar_push(ready_tasks, &task);    }  }  XBT_DEBUG("There are %lu ready tasks", xbt_dynar_length(ready_tasks));  return ready_tasks;}
开发者ID:oar-team,项目名称:simgrid-batsim,代码行数:16,


示例28: xbt_init

/** @brief Initialize the xbt mechanisms. */void xbt_init(int *argc, char **argv){  xbt_set_terminate();  if (xbt_initialized++) {    XBT_DEBUG("XBT was initialized %d times.", xbt_initialized);    return;  }  xbt_binary_name = xbt_strdup(argv[0]);  xbt_cmdline = xbt_dynar_new(sizeof(char*),NULL);  for (int i=0;i<*argc;i++)    xbt_dynar_push(xbt_cmdline,&(argv[i]));    xbt_log_init(argc, argv);}
开发者ID:dindon-sournois,项目名称:simgrid,代码行数:17,


示例29: Java_org_simgrid_msg_Comm_waitAny

JNIEXPORT int JNICALL Java_org_simgrid_msg_Comm_waitAny(JNIEnv *env, jclass cls, jobjectArray jcomms){  int count;  msg_comm_t* comms = jarray_to_commArray(env, jcomms, &count);  if (not comms)    return -1;  xbt_dynar_t dyn = xbt_dynar_new(sizeof(msg_comm_t),nullptr);  for (int i=0; i<count; i++) {    xbt_dynar_push(dyn, &(comms[i]));  }  int rank = MSG_comm_waitany(dyn);  delete[] comms;  xbt_dynar_free(&dyn);  return rank;}
开发者ID:simgrid,项目名称:simgrid,代码行数:16,


示例30: surf_network_model_init_CM02

/* } */void surf_network_model_init_CM02(void){  if (surf_network_model)    return;  surf_network_model = new NetworkCm02Model();  net_define_callbacks();  ModelPtr model = surf_network_model;  xbt_dynar_push(model_list, &model);  xbt_cfg_setdefault_double(_sg_cfg_set, "network/latency_factor", 1.0);  xbt_cfg_setdefault_double(_sg_cfg_set, "network/bandwidth_factor",                            1.0);  xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 0.0);}
开发者ID:frs69wq,项目名称:simgrid,代码行数:17,



注:本文中的xbt_dynar_push函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ xbt_free函数代码示例
C++ xbt_dynar_new函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。