[BACK]Return to ox.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_math

Diff for /OpenXM/src/ox_math/Attic/ox.c between version 1.7 and 1.8

version 1.7, 1999/11/04 06:21:58 version 1.8, 1999/11/04 18:13:47
Line 1 
Line 1 
 /* -*- mode: C; coding: euc-japan -*- */  /* -*- mode: C; coding: euc-japan -*- */
 /* $OpenXM: OpenXM/src/ox_math/ox.c,v 1.6 1999/11/04 03:05:50 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_math/ox.c,v 1.7 1999/11/04 06:21:58 ohara Exp $ */
   
 /*  /*
 関数の名前付け規約(その2):  関数の名前付け規約(その2):
Line 87  static int          send_cmo_error2(int fd, cmo_error2
Line 87  static int          send_cmo_error2(int fd, cmo_error2
 static int          send_mpz(int fd, mpz_ptr mpz);  static int          send_mpz(int fd, mpz_ptr mpz);
 static int          send_cmo_distributed_polynomial(int fd, cmo_distributed_polynomial* c);  static int          send_cmo_distributed_polynomial(int fd, cmo_distributed_polynomial* c);
   
   
 /* エラーハンドリングのため */  /* エラーハンドリングのため */
 static int current_received_serial = 0;  static int current_received_serial = 0;
   
Line 143  int send_ox_tag(int fd, int tag)
Line 142  int send_ox_tag(int fd, int tag)
     return send_int32(fd, next_serial());      return send_int32(fd, next_serial());
 }  }
   
   
 /* CMO_LIST 関係の関数群 */  /* CMO_LIST 関係の関数群 */
 cell* new_cell(cmo* newcmo)  cell* new_cell()
 {  {
     cell* h = malloc(sizeof(cell));      cell* h = malloc(sizeof(cell));
     h->next = NULL;      h->next = NULL;
     h->cmo  = newcmo;      h->cmo  = NULL;
     return h;      return h;
 }  }
   
Line 158  cell* next_cell(cell* this)
Line 156  cell* next_cell(cell* this)
     return this->next;      return this->next;
 }  }
   
 static cell* *tailp(cmo_list* this) {  static cell *tail(cmo_list* this) {
     cell **cp = &this->head;      cell *cp = this->head;
     while (*cp != NULL) {      while (cp->next != NULL) {
         cp = &((*cp)->next);          cp = cp->next;
     }      }
     return cp;      return cp;
 }  }
   
 int length_cmo_list(cmo_list* this)  
 {  
     return this->length;  
 }  
   
 int append_cmo_list(cmo_list* this, cmo* newcmo)  int append_cmo_list(cmo_list* this, cmo* newcmo)
 {  {
     /* リストの最後尾のNULLを保持している変数へのポインタ */      cell *cp = tail(this);
     cell **cp = tailp(this);          cp->cmo  = newcmo;
     *cp = new_cell(newcmo);      cp->next = new_cell();
     this->length++;      this->length++;
     return 0;      return 0;
 }  }
   
   int length_cmo_list(cmo_list* this)
   {
       return this->length;
   }
   
 /** receive_cmo_XXX 関数群 **/  /** receive_cmo_XXX 関数群 **/
 static cmo_null* receive_cmo_null(int fd)  static cmo_null* receive_cmo_null(int fd)
 {  {
Line 397  cmo_list* new_cmo_list()
Line 395  cmo_list* new_cmo_list()
     cmo_list* c = malloc(sizeof(cmo_list));      cmo_list* c = malloc(sizeof(cmo_list));
     c->tag    = CMO_LIST;      c->tag    = CMO_LIST;
     c->length = 0;      c->length = 0;
     c->head   = NULL;      c->head->next = NULL;
     return c;      return c;
 }  }
   
Line 489  cmo_distributed_polynomial* new_cmo_distributed_polyno
Line 487  cmo_distributed_polynomial* new_cmo_distributed_polyno
     cmo_distributed_polynomial* c = malloc(sizeof(cmo_distributed_polynomial));      cmo_distributed_polynomial* c = malloc(sizeof(cmo_distributed_polynomial));
     c->tag     = CMO_DISTRIBUTED_POLYNOMIAL;      c->tag     = CMO_DISTRIBUTED_POLYNOMIAL;
     c->length  = 0;      c->length  = 0;
     c->head    = NULL;      c->head->next = NULL;
         c->ringdef = NULL;          c->ringdef = NULL;
     return c;      return c;
 }  }
Line 565  void ox_close(ox_file_t sv)
Line 563  void ox_close(ox_file_t sv)
     send_ox_command(sv->control, SM_control_kill);      send_ox_command(sv->control, SM_control_kill);
 #if DEBUG  #if DEBUG
     sleep(2); /* OpenXM server の終了を待つ. あまり意味はない. */      sleep(2); /* OpenXM server の終了を待つ. あまり意味はない. */
     fprintf(stderr, "I have closed an Open XM server.\n");      fprintf(stderr, "I have closed the connection to an Open XM server.\n");
 #endif  #endif
 }  }
   
Line 731  static int cmolen_cmo_mathcap(cmo_mathcap* c)
Line 729  static int cmolen_cmo_mathcap(cmo_mathcap* c)
   
 static int cmolen_cmo_list(cmo_list* c)  static int cmolen_cmo_list(cmo_list* c)
 {  {
     int size = sizeof(c->head);      int size = sizeof(int);
     cell* cp = c->head;      cell* cp = c->head;
   
     while(cp != NULL) {      while(cp->next != NULL) {
         size += cmolen_cmo(cp->cmo);          size += cmolen_cmo(cp->cmo);
         cp = cp->next;          cp = cp->next;
     }      }
Line 777  int cmolen_cmo(cmo* c)
Line 775  int cmolen_cmo(cmo* c)
         break;          break;
     case CMO_MATHCAP:      case CMO_MATHCAP:
     case CMO_RING_BY_NAME:      case CMO_RING_BY_NAME:
       case CMO_INDETERMINATE:
     case CMO_ERROR2:      case CMO_ERROR2:
         size += cmolen_cmo_mathcap((cmo_mathcap *)c);          size += cmolen_cmo_mathcap((cmo_mathcap *)c);
         break;          break;
Line 834  static int dump_cmo_list(cmo_list* m)
Line 833  static int dump_cmo_list(cmo_list* m)
     int len = length_cmo_list(m);      int len = length_cmo_list(m);
     dump_integer(len);      dump_integer(len);
   
     while(cp != NULL) {      while(cp->next != NULL) {
         dump_cmo(cp->cmo);          dump_cmo(cp->cmo);
         cp = cp->next;          cp = cp->next;
     }      }
Line 886  int dump_cmo(cmo* m)
Line 885  int dump_cmo(cmo* m)
                 break;                  break;
     case CMO_MATHCAP:      case CMO_MATHCAP:
     case CMO_RING_BY_NAME:      case CMO_RING_BY_NAME:
       case CMO_INDETERMINATE:
     case CMO_ERROR2:      case CMO_ERROR2:
         dump_cmo_mathcap((cmo_mathcap *)m);          dump_cmo_mathcap((cmo_mathcap *)m);
                 break;                  break;
Line 1001  static int send_cmo_list(int fd, cmo_list* c)
Line 1001  static int send_cmo_list(int fd, cmo_list* c)
     int len = length_cmo_list(c);      int len = length_cmo_list(c);
     send_int32(fd, len);      send_int32(fd, len);
   
     while(cp != NULL) {      while(cp->next != NULL) {
         send_cmo(fd, cp->cmo);          send_cmo(fd, cp->cmo);
         cp = cp->next;          cp = cp->next;
     }      }
Line 1015  static int send_cmo_distributed_polynomial(int fd, cmo
Line 1015  static int send_cmo_distributed_polynomial(int fd, cmo
     send_int32(fd, len);      send_int32(fd, len);
         send_cmo(fd, c->ringdef);          send_cmo(fd, c->ringdef);
   
     while(cp != NULL) {      while(cp->next != NULL) {
         send_cmo(fd, cp->cmo);          send_cmo(fd, cp->cmo);
         cp = cp->next;          cp = cp->next;
     }      }
Line 1180  void setCmotypeDisable(int type)
Line 1180  void setCmotypeDisable(int type)
     int i = funcs(type);      int i = funcs(type);
     known_types[i] = -1;      known_types[i] = -1;
 }  }
   
 #if 0  #if 0
 cmo* (*received_funcs[])(int fd) = {  cmo* (*received_funcs[])(int fd) = {
     NULL,  /* gate keeper */      NULL,  /* gate keeper */

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>