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

Diff for /OpenXM/src/ox_toolkit/ox_toolkit.h between version 1.14 and 1.19

version 1.14, 2003/03/23 20:17:35 version 1.19, 2003/05/29 15:50:49
Line 1 
Line 1 
 /* -*- mode: C -*- */  /* -*- mode: C -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.13 2003/02/03 23:13:23 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.18 2003/05/28 08:43:59 ohara Exp $ */
   
 #ifndef _OX_TOOLKIT_H_  #ifndef _OX_TOOLKIT_H_
   
 #define _OX_TOOLKIT_H_  #define _OX_TOOLKIT_H_
   
   #ifdef __cplusplus
   extern "C" {
   #endif
   
 #include <stdio.h>  #include <stdio.h>
 #if defined(WITH_GMP)  #if defined(WITH_GMP)
 #include <gmp.h>  #include <gmp.h>
   #else
   #include "gmp_fake.h"
 #endif /* WITH_GMP */  #endif /* WITH_GMP */
 #include <ox/cmotag.h>  #include <ox/cmotag.h>
 #include <ox/oxMessageTag.h>  #include <ox/oxMessageTag.h>
Line 38  typedef struct OXFILE{
Line 44  typedef struct OXFILE{
     struct OXFILE *control;  /* pointer to his control server. */      struct OXFILE *control;  /* pointer to his control server. */
     struct mathcap *mathcap;      struct mathcap *mathcap;
     int error;      int error;
       char *wbuf;
       int wbuf_size;
       int wbuf_count;
 } OXFILE;  } OXFILE;
   
 typedef struct {  typedef struct cmo {
     int tag;      int tag;
 } cmo;  } cmo;
   
Line 75  typedef cmo_mathcap cmo_indeterminate;
Line 84  typedef cmo_mathcap cmo_indeterminate;
   
 /* a double linked list */  /* a double linked list */
 typedef struct cell {  typedef struct cell {
     cmo *cmo;      struct cmo *cmo;
     struct cell *next;      struct cell *next;
     struct cell *prev;      struct cell *prev;
 } cell;  } cell;
Line 93  typedef struct {
Line 102  typedef struct {
     cmo *coef;      cmo *coef;
 } cmo_monomial32;  } cmo_monomial32;
   
 #if defined(WITH_GMP)  
 typedef struct {  typedef struct {
     int tag;      int tag;
     mpz_t mpz;      mpz_t mpz;
Line 104  typedef struct {
Line 112  typedef struct {
     cmo *num;  /* Bunshi (cmo_zz) */      cmo *num;  /* Bunshi (cmo_zz) */
     cmo *den;  /* Bunbo (cmo_zz) */      cmo *den;  /* Bunbo (cmo_zz) */
 } cmo_qq;  } cmo_qq;
 #endif /* WITH_GMP */  
   
 typedef struct {  typedef struct {
     int tag;      int tag;
Line 131  typedef struct {
Line 138  typedef struct {
   
 typedef struct {  typedef struct {
     int tag;      int tag;
     cmo *cmo;      struct cmo *cmo;
 } ox_data;  } ox_data;
   
 cmo_null*          new_cmo_null();  cmo_null*          new_cmo_null();
Line 141  cmo_mathcap*       new_cmo_mathcap(cmo* ob);
Line 148  cmo_mathcap*       new_cmo_mathcap(cmo* ob);
 cmo_list*          new_cmo_list();  cmo_list*          new_cmo_list();
 cmo_monomial32*    new_cmo_monomial32();  cmo_monomial32*    new_cmo_monomial32();
 cmo_monomial32*    new_cmo_monomial32_size(int size);  cmo_monomial32*    new_cmo_monomial32_size(int size);
 #if defined(WITH_GMP)  
 cmo_zz*            new_cmo_zz();  cmo_zz*            new_cmo_zz();
 cmo_zz*            new_cmo_zz_size(int size);  cmo_zz*            new_cmo_zz_size(int size);
 cmo_zz*            new_cmo_zz_set_si(int integer);  cmo_zz*            new_cmo_zz_set_si(int integer);
 cmo_zz*            new_cmo_zz_set_mpz(mpz_ptr z);  cmo_zz*            new_cmo_zz_set_mpz(mpz_ptr z);
 cmo_zz*            new_cmo_zz_noinit();  cmo_zz*            new_cmo_zz_noinit();
 cmo_zz*            new_cmo_zz_set_string(char* s);  cmo_zz*            new_cmo_zz_set_string(char* s);
 #endif /* WITH_GMP */  
 cmo_zero*          new_cmo_zero();  cmo_zero*          new_cmo_zero();
 cmo_double*        new_cmo_double(double d);  cmo_double*        new_cmo_double(double d);
 cmo_distributed_polynomial* new_cmo_distributed_polynomial();  cmo_distributed_polynomial* new_cmo_distributed_polynomial();
Line 167  cmo_error2*        make_error_object(int err_code, cmo
Line 172  cmo_error2*        make_error_object(int err_code, cmo
   
 /* Low level API */  /* Low level API */
 cmo*               receive_cmo(OXFILE *fp);  cmo*               receive_cmo(OXFILE *fp);
   cmo*               receive_cmo_tag(OXFILE *fp, int tag);
 int                receive_int32(OXFILE *fp);  int                receive_int32(OXFILE *fp);
 int                receive_ox_tag(OXFILE *fp);  int                receive_ox_tag(OXFILE *fp);
   
Line 194  void               ox_push_cmd(OXFILE *sv, int sm_code
Line 200  void               ox_push_cmd(OXFILE *sv, int sm_code
 void               ox_cmo_rpc(OXFILE *sv, char *function, int argc, cmo *argv[]);  void               ox_cmo_rpc(OXFILE *sv, char *function, int argc, cmo *argv[]);
 int                ox_flush(OXFILE *sv);  int                ox_flush(OXFILE *sv);
   
 cell*              list_first(cmo_list *this);  cell*              list_first(cmo_list *);
 int                list_endof(cmo_list *this, cell *el);  int                list_endof(cmo_list *, cell *el);
 cell*              list_next(cell *el);  cell*              list_next(cell *el);
 cmo_list*          list_append(cmo_list* this, cmo *ob);  cmo_list*          list_append(cmo_list*, cmo *ob);
 cmo_list*          list_appendl(cmo_list* this, ...);  cmo_list*          list_appendl(cmo_list*, ...);
 int                list_length(cmo_list* this);  int                list_length(cmo_list* );
 cmo*               list_nth(cmo_list* this, int n);  cmo*               list_nth(cmo_list* , int n);
   
 int                cmolen_cmo(cmo* m);  int                cmolen_cmo(cmo* m);
 void               dump_buffer_init(char *s);  void               dump_buffer_init(char *s);
Line 209  void               dump_ox_command(ox_command* m);
Line 215  void               dump_ox_command(ox_command* m);
 void               dump_ox_data(ox_data* m);  void               dump_ox_data(ox_data* m);
   
 void               print_cmo(cmo* c);  void               print_cmo(cmo* c);
 #if defined(WITH_GMP)  
 void               resize_mpz(mpz_ptr mpz, int size);  void               resize_mpz(mpz_ptr mpz, int size);
 #endif /* WITH_GMP */  
   
 typedef cmo *(*hook_t)(OXFILE *, cmo *);  typedef cmo *(*hook_t)(OXFILE *, cmo *);
   
Line 237  char*    get_symbol_by_tag(int tag);
Line 241  char*    get_symbol_by_tag(int tag);
 /* for mathcap database */  /* for mathcap database */
 mathcap *new_mathcap();  mathcap *new_mathcap();
 void mathcap_init(int ver, char *vstr, char *sysname, int cmos[], int sms[]);  void mathcap_init(int ver, char *vstr, char *sysname, int cmos[], int sms[]);
 cmo_mathcap* mathcap_get(mathcap *this);  cmo_mathcap* mathcap_get(mathcap *);
 mathcap *mathcap_update(mathcap *this, cmo_mathcap *mc);  mathcap *mathcap_update(mathcap *, cmo_mathcap *mc);
 int mathcap_allowQ_cmo(mathcap *this, cmo *ob);  int mathcap_allowQ_cmo(mathcap *, cmo *ob);
   
 int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp);  int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp);
 int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp);  int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp);
Line 268  char *generate_otp();
Line 272  char *generate_otp();
   
 int ox_stderr_init(FILE *fp);  int ox_stderr_init(FILE *fp);
 int ox_printf(char *format, ...);  int ox_printf(char *format, ...);
   
   #ifdef __cplusplus
   }
   #endif
   
 #endif /* _OX_TOOLKIT_H_ */  #endif /* _OX_TOOLKIT_H_ */

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.19

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