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

Diff for /OpenXM/src/ox_toolkit/ox.c between version 1.24 and 1.28

version 1.24, 2003/05/25 16:35:40 version 1.28, 2003/09/18 12:46:08
Line 1 
Line 1 
 /* -*- mode: C; coding: euc-japan -*- */  /* -*- mode: C; coding: euc-japan -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/ox.c,v 1.23 2003/03/30 08:05:22 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/ox.c,v 1.27 2003/09/15 09:31:41 ohara Exp $ */
   
 /*  /*
    This module includes functions for sending/receiveng CMO's.     This module includes functions for sending/receiveng CMO's.
Line 33  static cmo_zero*         receive_cmo_zero(OXFILE *oxfp
Line 33  static cmo_zero*         receive_cmo_zero(OXFILE *oxfp
 static cmo_dms_generic*  receive_cmo_dms_generic(OXFILE *oxfp);  static cmo_dms_generic*  receive_cmo_dms_generic(OXFILE *oxfp);
 static cmo_ring_by_name* receive_cmo_ring_by_name(OXFILE *oxfp);  static cmo_ring_by_name* receive_cmo_ring_by_name(OXFILE *oxfp);
 static cmo_distributed_polynomial* receive_cmo_distributed_polynomial(OXFILE *oxfp);  static cmo_distributed_polynomial* receive_cmo_distributed_polynomial(OXFILE *oxfp);
   static cmo_recursive_polynomial* receive_cmo_recursive_polynomial(OXFILE *oxfp);
   static cmo_polynomial_in_one_variable* receive_cmo_polynomial_in_one_variable(OXFILE *oxfp);
 static cmo_error2*       receive_cmo_error2(OXFILE *oxfp);  static cmo_error2*       receive_cmo_error2(OXFILE *oxfp);
   
 static int          send_cmo_null(OXFILE *oxfp, cmo_null* c);  static int          send_cmo_null(OXFILE *oxfp, cmo_null* c);
Line 43  static int          send_cmo_list(OXFILE *oxfp, cmo_li
Line 45  static int          send_cmo_list(OXFILE *oxfp, cmo_li
 static int          send_cmo_monomial32(OXFILE *oxfp, cmo_monomial32* c);  static int          send_cmo_monomial32(OXFILE *oxfp, cmo_monomial32* c);
 static int          send_cmo_error2(OXFILE *oxfp, cmo_error2* c);  static int          send_cmo_error2(OXFILE *oxfp, cmo_error2* c);
 static int          send_cmo_distributed_polynomial(OXFILE *oxfp, cmo_distributed_polynomial* c);  static int          send_cmo_distributed_polynomial(OXFILE *oxfp, cmo_distributed_polynomial* c);
   static int send_cmo_polynomial_in_one_variable(OXFILE *oxfp, cmo_polynomial_in_one_variable* c);
   static int send_cmo_recursive_polynomial(OXFILE *oxfp, cmo_recursive_polynomial* c);
   
 static cmo_zz*      receive_cmo_zz(OXFILE *oxfp);  static cmo_zz*      receive_cmo_zz(OXFILE *oxfp);
 static void         receive_mpz(OXFILE *oxfp, mpz_ptr mpz);  static void         receive_mpz(OXFILE *oxfp, mpz_ptr mpz);
Line 142  static cmo_int32* receive_cmo_int32(OXFILE *oxfp)
Line 146  static cmo_int32* receive_cmo_int32(OXFILE *oxfp)
 static cmo_string* receive_cmo_string(OXFILE *oxfp)  static cmo_string* receive_cmo_string(OXFILE *oxfp)
 {  {
     int len = receive_int32(oxfp);      int len = receive_int32(oxfp);
     char* s = malloc(len+1);      char* s = MALLOC(len+1);
     memset(s, '\0', len+1);      memset(s, '\0', len+1);
     if (len > 0) {      if (len > 0) {
         oxf_read(s, 1, len, oxfp);          oxf_read(s, 1, len, oxfp);
Line 207  static cmo_ring_by_name* receive_cmo_ring_by_name(OXFI
Line 211  static cmo_ring_by_name* receive_cmo_ring_by_name(OXFI
     return new_cmo_ring_by_name(ob);      return new_cmo_ring_by_name(ob);
 }  }
   
   static cmo_recursive_polynomial* receive_cmo_recursive_polynomial(OXFILE *oxfp)
   {
           cmo_list* ringdef = (cmo_list *)receive_cmo(oxfp);
           cmo* coef         = receive_cmo(oxfp);
       return new_cmo_recursive_polynomial(ringdef, coef);
   }
   
 static cmo_distributed_polynomial* receive_cmo_distributed_polynomial(OXFILE *oxfp)  static cmo_distributed_polynomial* receive_cmo_distributed_polynomial(OXFILE *oxfp)
 {  {
     cmo* ob;      cmo* ob;
Line 222  static cmo_distributed_polynomial* receive_cmo_distrib
Line 233  static cmo_distributed_polynomial* receive_cmo_distrib
     return c;      return c;
 }  }
   
   static cmo_polynomial_in_one_variable* receive_cmo_polynomial_in_one_variable(OXFILE *oxfp)
   {
       cmo* coef;
       cmo_polynomial_in_one_variable* c;
       int len = receive_int32(oxfp);
       int var = receive_int32(oxfp);
       int exp;
       c = new_cmo_polynomial_in_one_variable(var);
       while (len>0) {
           exp  = receive_int32(oxfp);
           coef = receive_cmo(oxfp);
           list_append_monomial((cmo_list *)c, coef, exp);
           len--;
       }
       return c;
   }
   
   static cmo_tree* receive_cmo_tree(OXFILE *oxfp)
   {
       cmo_string* name = (cmo_string *)receive_cmo(oxfp);
       cmo_list* attrib = (cmo_list *)receive_cmo(oxfp);
       cmo_list* leaves = (cmo_list *)receive_cmo(oxfp);
       return new_cmo_tree(name, attrib, leaves);
   }
   
   static cmo_lambda* receive_cmo_lambda(OXFILE *oxfp)
   {
       cmo_list* args = (cmo_list *)receive_cmo(oxfp);
       cmo_tree* body = (cmo_tree *)receive_cmo(oxfp);
       return new_cmo_lambda(args, body);
   }
   
 static cmo_error2* receive_cmo_error2(OXFILE *oxfp)  static cmo_error2* receive_cmo_error2(OXFILE *oxfp)
 {  {
     cmo* ob = receive_cmo(oxfp);      cmo* ob = receive_cmo(oxfp);
Line 272  cmo *receive_cmo_tag(OXFILE *oxfp, int tag)
Line 315  cmo *receive_cmo_tag(OXFILE *oxfp, int tag)
     case CMO_DISTRIBUTED_POLYNOMIAL:      case CMO_DISTRIBUTED_POLYNOMIAL:
         m = (cmo *)receive_cmo_distributed_polynomial(oxfp);          m = (cmo *)receive_cmo_distributed_polynomial(oxfp);
         break;          break;
       case CMO_RECURSIVE_POLYNOMIAL:
           m = (cmo *)receive_cmo_recursive_polynomial(oxfp);
           break;
       case CMO_POLYNOMIAL_IN_ONE_VARIABLE:
           m = (cmo *)receive_cmo_polynomial_in_one_variable(oxfp);
           break;
       case CMO_TREE:
           m = (cmo *)receive_cmo_tree(oxfp);
           break;
       case CMO_LAMBDA:
           m = (cmo *)receive_cmo_lambda(oxfp);
           break;
     case CMO_ERROR2:      case CMO_ERROR2:
         m = (cmo *)receive_cmo_error2(oxfp);          m = (cmo *)receive_cmo_error2(oxfp);
         break;          break;
Line 467  static int send_cmo_distributed_polynomial(OXFILE *oxf
Line 522  static int send_cmo_distributed_polynomial(OXFILE *oxf
     return 0;      return 0;
 }  }
   
   static int send_cmo_polynomial_in_one_variable(OXFILE *oxfp, cmo_polynomial_in_one_variable* c)
   {
       cell* el = list_first((cmo_list *)c);
       int len = list_length((cmo_list *)c);
       send_int32(oxfp, len);
           send_int32(oxfp, c->var);
   
       while(!list_endof((cmo_list *)c, el)) {
           send_int32(oxfp, el->exp);
           send_cmo(oxfp, el->cmo);
           el = list_next(el);
       }
       return 0;
   }
   
 static int send_cmo_monomial32(OXFILE *oxfp, cmo_monomial32* c)  static int send_cmo_monomial32(OXFILE *oxfp, cmo_monomial32* c)
 {  {
     int i;      int i;
Line 485  static int send_cmo_zz(OXFILE *oxfp, cmo_zz* c)
Line 555  static int send_cmo_zz(OXFILE *oxfp, cmo_zz* c)
     return 0;      return 0;
 }  }
   
   static int send_cmo_recursive_polynomial(OXFILE *oxfp, cmo_recursive_polynomial* c)
   {
           send_cmo(oxfp, (cmo *)c->ringdef);
       send_cmo(oxfp, c->coef);
       return 0;
   }
   
   static int send_cmo_tree(OXFILE *oxfp, cmo_tree *c)
   {
       send_cmo(oxfp, (cmo *)c->name);
       send_cmo(oxfp, (cmo *)c->attributes);
       send_cmo(oxfp, (cmo *)c->leaves);
       return 0;
   }
   
   static int send_cmo_lambda(OXFILE *oxfp, cmo_lambda *c)
   {
       send_cmo(oxfp, (cmo *)c->args);
       send_cmo(oxfp, (cmo *)c->body);
       return 0;
   }
   
 static int send_cmo_error2(OXFILE *oxfp, cmo_error2* c)  static int send_cmo_error2(OXFILE *oxfp, cmo_error2* c)
 {  {
     send_cmo(oxfp, c->ob);      send_cmo(oxfp, c->ob);
Line 529  void send_cmo(OXFILE *oxfp, cmo* c)
Line 621  void send_cmo(OXFILE *oxfp, cmo* c)
     case CMO_DISTRIBUTED_POLYNOMIAL:      case CMO_DISTRIBUTED_POLYNOMIAL:
         send_cmo_distributed_polynomial(oxfp, (cmo_distributed_polynomial *)c);          send_cmo_distributed_polynomial(oxfp, (cmo_distributed_polynomial *)c);
         break;          break;
       case CMO_RECURSIVE_POLYNOMIAL:
           send_cmo_recursive_polynomial(oxfp, (cmo_recursive_polynomial *)c);
           break;
       case CMO_POLYNOMIAL_IN_ONE_VARIABLE:
           send_cmo_polynomial_in_one_variable(oxfp, (cmo_polynomial_in_one_variable *)c);
           break;
       case CMO_TREE:
           send_cmo_tree(oxfp, (cmo_tree *)c);
           break;
       case CMO_LAMBDA:
           send_cmo_lambda(oxfp, (cmo_lambda *)c);
           break;
     default:      default:
         call_hook_after_send_cmo(oxfp, c);          call_hook_after_send_cmo(oxfp, c);
     }      }
Line 547  static int send_mpz(OXFILE *oxfp, mpz_ptr mpz)
Line 651  static int send_mpz(OXFILE *oxfp, mpz_ptr mpz)
   
 ox_data* new_ox_data(cmo* c)  ox_data* new_ox_data(cmo* c)
 {  {
     ox_data* m = malloc(sizeof(ox_data));      ox_data* m = MALLOC(sizeof(ox_data));
     m->tag = OX_DATA;      m->tag = OX_DATA;
     m->cmo = c;      m->cmo = c;
     return m;      return m;
Line 555  ox_data* new_ox_data(cmo* c)
Line 659  ox_data* new_ox_data(cmo* c)
   
 ox_command* new_ox_command(int sm_code)  ox_command* new_ox_command(int sm_code)
 {  {
     ox_command* m = malloc(sizeof(ox_command));      ox_command* m = MALLOC(sizeof(ox_command));
     m->tag = OX_COMMAND;      m->tag = OX_COMMAND;
     m->command = sm_code;      m->command = sm_code;
     return m;      return m;
Line 563  ox_command* new_ox_command(int sm_code)
Line 667  ox_command* new_ox_command(int sm_code)
   
 ox_sync_ball* new_ox_sync_ball()  ox_sync_ball* new_ox_sync_ball()
 {  {
     ox_sync_ball *m = malloc(sizeof(ox_sync_ball));      ox_sync_ball *m = MALLOC(sizeof(ox_sync_ball));
     m->tag = OX_SYNC_BALL;      m->tag = OX_SYNC_BALL;
     return m;      return m;
 }  }
Line 574  int ox_stderr_init(FILE *fp)
Line 678  int ox_stderr_init(FILE *fp)
     if (ox_stderr != NULL) {      if (ox_stderr != NULL) {
         setbuf(ox_stderr, NULL);          setbuf(ox_stderr, NULL);
     }      }
       return 0;
 }  }
   
 int ox_printf(char *format, ...)  int ox_printf(char *format, ...)
Line 583  int ox_printf(char *format, ...)
Line 688  int ox_printf(char *format, ...)
         va_start(ap, format);          va_start(ap, format);
         vfprintf(ox_stderr, format, ap);          vfprintf(ox_stderr, format, ap);
     }      }
       return 0;
 }  }

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.28

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