亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? az_comm.c

?? 并行解法器,功能強大
?? C
?? 第 1 頁 / 共 5 頁
字號:
  for (hbit = 0; (nprocs >> hbit) != 1; hbit++);  nprocs_small = 1 << hbit;  if (nprocs_small*2 == nprocs) {    nprocs_small *= 2;    hbit++;  }  partner = node ^ nprocs_small;  if (node+nprocs_small < nprocs) {    /* post receives on the hypercube portion of the machine partition */    if (mdwrap_iread((void *) &val2, sizeof(double), &partner, &type,                      &request)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  else if (node & nprocs_small) {    /*     * Send messages from the portion of the machine partition "above" the     * largest hypercube to the hypercube portion.     */    if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  if (node+nprocs_small < nprocs) {    /* wait to receive the messages */    if (mdwrap_wait((void *) &val2, sizeof(double), &partner, &type, &cflag,                     &request) != sizeof(double)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }    /* get max value */    if (val2 > val) val = val2;  }  /* Now do a binary exchange on nprocs_small nodes. */  if (!(node & nprocs_small)) {    for (mask = nprocs_small>>1; mask; mask >>= 1) {      partner = node ^ mask;      if (mdwrap_iread((void *) &val2, sizeof(double), &partner, &type,                        &request)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_wait((void *) &val2, sizeof(double), &partner, &type, &cflag,                       &request) != sizeof(double)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (val2 > val)        val = val2;    }  }  /* Finally, send message from lower half to upper half. */  partner = node ^ nprocs_small;  if (node & nprocs_small) {    if (mdwrap_iread((void *) &val, sizeof(double), &partner, &type,                      &request)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  else if (node+nprocs_small < nprocs ) {    if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  if (node & nprocs_small) {    if (mdwrap_wait((void *) &val, sizeof(double), &partner, &type, &cflag,                     &request) != sizeof(double)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  return val;} /* AZ_gmax_double *//******************************************************************************//******************************************************************************//******************************************************************************/double AZ_gmin_double(double val, int proc_config[])/*******************************************************************************  Global min of type double.  Author:  =======  Return code:     double, minimum value across all processors.  ============  Parameter list:  ===============  val:             Individual processor value.  proc_config:     Machine configuration.  proc_config[AZ_node] is the node                   number.  proc_config[AZ_N_procs] is the number of processors.*******************************************************************************/{  /* local variables */  int    type;               /* type of next message */  int    partner;            /* processor I exchange with */  int    mask;               /* bit pattern identifying partner */  int    hbit;               /* largest nonzero bit in nprocs */  int    nprocs_small;       /* largest power of 2 <= nprocs */  double val2;               /* arriving value to add */  int    cflag;              /* dummy argument for compatability */  int    node, nprocs;  char  *yo = "AZ_gmin_double: ";  MPI_AZRequest request;  /* Message handle */  /**************************** execution begins ******************************/  node   = proc_config[AZ_node];  nprocs = proc_config[AZ_N_procs];  type            = AZ_sys_msg_type;  AZ_sys_msg_type = (AZ_sys_msg_type+1-AZ_MSG_TYPE) % AZ_NUM_MSGS + AZ_MSG_TYPE;  /* Find next lower power of 2. */  for (hbit = 0; (nprocs >> hbit) != 1; hbit++);  nprocs_small = 1 << hbit;  if (nprocs_small*2 == nprocs) {    nprocs_small *= 2;    hbit++;  }  partner = node ^ nprocs_small;  if (node+nprocs_small < nprocs) {    /* post receives on the hypercube portion of the machine partition */    if (mdwrap_iread((void *) &val2, sizeof(double), &partner, &type,                      &request)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  else if (node & nprocs_small) {    /*     * Send messages from the portion of the machine partition "above" the     * largest hypercube to the hypercube portion.     */    if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  if (node+nprocs_small < nprocs) {    /* wait to receive the messages */    if (mdwrap_wait((void *) &val2, sizeof(double), &partner, &type, &cflag,                     &request) != sizeof(double)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }    /* get max value */    if (val2 < val) val = val2;  }  /* Now do a binary exchange on nprocs_small nodes. */  if (!(node & nprocs_small)) {    for (mask = nprocs_small>>1; mask; mask >>= 1) {      partner = node ^ mask;      if (mdwrap_iread((void *) &val2, sizeof(double), &partner, &type,                        &request)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_wait((void *) &val2, sizeof(double), &partner, &type, &cflag,                       &request) != sizeof(double)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (val2 < val)        val = val2;    }  }  /* Finally, send message from lower half to upper half. */  partner = node ^ nprocs_small;  if (node & nprocs_small) {    if (mdwrap_iread((void *) &val, sizeof(double), &partner, &type,                      &request)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  else if (node+nprocs_small < nprocs ) {    if (mdwrap_write((void *) &val, sizeof(double), partner, type, &cflag)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  if (node & nprocs_small) {    if (mdwrap_wait((void *) &val, sizeof(double), &partner, &type, &cflag,                     &request) != sizeof(double)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  return val;} /* AZ_gmin_double *//******************************************************************************//******************************************************************************//******************************************************************************/int AZ_gmax_int(int val, int proc_config[])/*******************************************************************************  Global max of type int.  Author:  =======  Return code:     int, maximum value across all processors.  ============  Parameter list:  ===============  val:             Individual processor value.  proc_config:     Machine configuration.  proc_config[AZ_node] is the node                   number.  proc_config[AZ_N_procs] is the number of processors.*******************************************************************************/{  /* local variables */  int   type;                     /* type of next message */  int   partner;                  /* processor I exchange with */  int   mask;                     /* bit pattern identifying partner */  int   hbit;                     /* largest nonzero bit in nprocs */  int   nprocs_small;             /* largest power of 2 <= nprocs */  int   val2;                     /* arriving value to add */  int   cflag;                    /* dummy argument for compatability */  int   node, nprocs;  char *yo = "AZ_gmax_int: ";  MPI_AZRequest request;  /* Message handle */  /**************************** execution begins ******************************/  node   = proc_config[AZ_node];  nprocs = proc_config[AZ_N_procs];  type            = AZ_sys_msg_type;  AZ_sys_msg_type = (AZ_sys_msg_type+1-AZ_MSG_TYPE) % AZ_NUM_MSGS + AZ_MSG_TYPE;  /* Find next lower power of 2. */  for (hbit = 0; (nprocs >> hbit) != 1; hbit++);  nprocs_small = 1 << hbit;  if (nprocs_small*2 == nprocs) {    nprocs_small *= 2;    hbit++;  }  partner = node ^ nprocs_small;  if (node+nprocs_small < nprocs) {    /* post receives on the hypercube portion of the machine partition */    if (mdwrap_iread((void *) &val2, sizeof(int), &partner, &type, &request)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  else if (node & nprocs_small) {    /*     * Send messages from the portion of the machine partition "above" the     * largest hypercube to the hypercube portion.     */    if (mdwrap_write((void *) &val, sizeof(int), partner, type, &cflag)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }  }  if (node+nprocs_small < nprocs) {    /* wait to receive the messages */    if (mdwrap_wait((void *) &val2, sizeof(int), &partner, &type, &cflag,                     &request) != sizeof(int)) {      (void) fprintf(stderr, "%sERROR on node %d\nmd_wait failed, message "                     "type = %d\n", yo, node, type);      exit(-1);    }    /* get max value */    if (val2 > val) val += val2;  }  /* Now do a binary exchange on nprocs_small nodes. */  if (!(node & nprocs_small)) {    for (mask = nprocs_small>>1; mask; mask >>= 1) {      partner = node ^ mask;      if (mdwrap_iread((void *) &val2, sizeof(int), &partner, &type,                        &request)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_iread failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_write((void *) &val, sizeof(int), partner, type, &cflag)) {        (void) fprintf(stderr, "%sERROR on node %d\nmd_write failed, message "                       "type = %d\n", yo, node, type);        exit(-1);      }      if (mdwrap_wait((void *) &val2, sizeof(int), &partner, &type, &cflag,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品免费观看高清观看| 久久影院午夜论| 日韩欧美一区电影| 国产精品久久久久久久蜜臀| 国产一区三区三区| 在线欧美日韩精品| 国产亚洲成av人在线观看导航| 亚洲丰满少妇videoshd| av中文一区二区三区| 91精品欧美福利在线观看| 亚洲人成小说网站色在线| 免费黄网站欧美| 在线视频国内一区二区| 国产日韩欧美高清| 久久国产日韩欧美精品| 欧美日韩国产美女| 亚洲精品伦理在线| 风间由美中文字幕在线看视频国产欧美| 欧美精品一二三四| 一区二区三区免费网站| 99久久精品国产一区二区三区| 精品电影一区二区| 开心九九激情九九欧美日韩精美视频电影 | 免费高清在线一区| 欧美三级乱人伦电影| 亚洲精品日韩综合观看成人91| 国产成人综合在线观看| 精品人在线二区三区| 青青草伊人久久| 欧美精品一二三四| 丝袜美腿亚洲一区二区图片| 欧美视频在线观看一区二区| 亚洲综合免费观看高清在线观看| 91亚洲精品久久久蜜桃| 综合激情成人伊人| 色综合天天综合色综合av| 国产精品理论在线观看| 成人av影视在线观看| 国产精品无人区| av一区二区三区黑人| 国产女主播一区| 91免费版pro下载短视频| 亚洲欧美日韩在线播放| 色香色香欲天天天影视综合网| 亚洲猫色日本管| 日本久久一区二区| 午夜精品久久久| 欧美一区2区视频在线观看| 麻豆一区二区99久久久久| 精品福利一区二区三区免费视频| 国内成人精品2018免费看| 国产三级欧美三级| 91免费观看在线| 天堂成人国产精品一区| 日韩欧美一区二区视频| 国产成人精品一区二区三区四区| 国产精品毛片无遮挡高清| 99国产精品99久久久久久| 亚洲一区二区免费视频| 日韩欧美中文字幕公布| 国产福利一区二区三区视频| 亚洲欧美日韩中文播放 | 国产成人av一区二区三区在线 | 亚洲第一久久影院| 日韩一级精品视频在线观看| 国产剧情一区二区| 日韩毛片视频在线看| 欧美欧美午夜aⅴ在线观看| 国产一区二区三区在线观看免费| 亚洲一区二区高清| 日韩视频在线观看一区二区| 国产精品99久| 亚洲一级电影视频| 久久久久久毛片| 色狠狠一区二区三区香蕉| 久久综合综合久久综合| 日韩伦理免费电影| 日韩一级免费观看| 91久久精品一区二区三| 国产一区二区电影| 亚洲高清免费在线| 国产日韩欧美一区二区三区综合| 欧美优质美女网站| 丁香六月综合激情| 秋霞国产午夜精品免费视频| 亚洲欧美视频在线观看视频| 久久久精品影视| 欧美三级电影在线看| 成人午夜在线免费| 久久99在线观看| 五月婷婷综合网| 亚洲视频在线观看三级| 久久久久国产精品麻豆ai换脸 | 午夜私人影院久久久久| 国产精品情趣视频| 精品国产精品网麻豆系列| 欧美日韩一区视频| 色综合咪咪久久| 成人伦理片在线| 韩国一区二区在线观看| 日产精品久久久久久久性色| 一区二区三区欧美激情| 日韩毛片高清在线播放| 欧美极品美女视频| 精品国精品自拍自在线| 日韩一二三区视频| 欧美性猛片xxxx免费看久爱| 99久久精品免费看国产| 成人听书哪个软件好| 国产999精品久久久久久绿帽| 极品少妇一区二区三区精品视频| 日韩和欧美一区二区| 亚洲电影在线免费观看| 性做久久久久久久久| 激情文学综合网| 日本在线播放一区二区三区| 亚洲超丰满肉感bbw| 亚洲bt欧美bt精品| 午夜av区久久| 蜜臀av一区二区在线免费观看| 午夜精品福利在线| 亚洲成av人片在线观看无码| 午夜欧美电影在线观看| 日韩成人免费看| 美女脱光内衣内裤视频久久影院| 毛片不卡一区二区| 精品无码三级在线观看视频| 国产曰批免费观看久久久| 国产精品一区二区在线看| 国产精品88av| 北条麻妃一区二区三区| 99国产精品久久久久久久久久| 色综合 综合色| 欧美日韩精品免费观看视频| 欧美一区二区久久久| 精品国免费一区二区三区| 中文字幕欧美日本乱码一线二线| 中文字幕中文字幕在线一区| 一区二区三区精品久久久| 香蕉成人啪国产精品视频综合网| 人人精品人人爱| 国产aⅴ综合色| 91毛片在线观看| 91麻豆精品国产91久久久久久 | 欧美日韩久久久| 精品日产卡一卡二卡麻豆| 亚洲国产岛国毛片在线| 亚洲精选免费视频| 美女视频网站久久| 不卡一区二区在线| 欧美日本一道本| 国产欧美视频一区二区| 亚洲影视资源网| 韩日精品视频一区| 日本韩国欧美一区| 精品久久久网站| 亚洲精品成人少妇| 精品一区二区免费视频| 欧美男男青年gay1069videost| 久久婷婷国产综合精品青草| 亚洲欧美日韩综合aⅴ视频| 久久成人免费网| 91色九色蝌蚪| www国产亚洲精品久久麻豆| 1024成人网| 韩国女主播成人在线观看| 99视频精品在线| 精品久久久久一区| 亚洲在线视频网站| 懂色一区二区三区免费观看| 在线不卡免费欧美| 中文字幕日韩欧美一区二区三区| 日本va欧美va瓶| 91免费观看在线| 国产日韩欧美精品电影三级在线| 日韩高清不卡一区二区三区| 91在线精品一区二区| 国产三级精品视频| 毛片一区二区三区| 欧美日韩www| 一区二区欧美视频| 99在线视频精品| 日本一区二区三区国色天香| 裸体在线国模精品偷拍| 欧美日韩国产乱码电影| 亚洲女子a中天字幕| 成人福利视频在线| 久久久久久久综合狠狠综合| 日本不卡中文字幕| 在线观看91精品国产麻豆| 一区二区三区美女视频| 99久久久国产精品免费蜜臀| 中文一区在线播放| 丰满放荡岳乱妇91ww| 精品国产乱码久久久久久老虎| 免费在线欧美视频| 欧美一级理论片| 首页国产欧美日韩丝袜| 欧美亚洲国产bt| 亚洲一区二区三区国产|