[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.30 and 1.38

version 1.30, 2005/03/03 07:25:17 version 1.38, 2015/08/18 02:24:04
Line 1 
Line 1 
 /* -*- mode: C -*- */  /* -*- mode: C -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.29 2005/03/03 06:21:23 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.37 2015/08/17 05:18:35 noro 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>
 #include <gmp.h>  #include <gmp.h>
   #include <mpfr.h>
 #include <ox/cmotag.h>  #include <ox/cmotag.h>
 #include <ox/oxMessageTag.h>  #include <ox/oxMessageTag.h>
 #include <ox/smCommand.h>  #include <ox/smCommand.h>
Line 22  extern "C" {
Line 19  extern "C" {
 /* #define FREE(x)   free((x)) */  /* #define FREE(x)   free((x)) */
 #define FREE(x)  #define FREE(x)
   
   #ifdef __cplusplus
   extern "C" {
   #endif
   
 #if !defined(__GNUC__) && !defined(__inline__)  #if !defined(__GNUC__) && !defined(__inline__)
 #define __inline__  #define __inline__
 #endif  #endif
Line 115  typedef struct {
Line 116  typedef struct {
   
 typedef struct {  typedef struct {
     int tag;      int tag;
     cmo *num;  /* Bunshi (cmo_zz) */      mpq_t mpq;
     cmo *den;  /* Bunbo (cmo_zz) */  
 } cmo_qq;  } cmo_qq;
   
 typedef struct {  typedef struct {
     int tag;      int tag;
       mpfr_t mpfr;
   } cmo_bf;
   
   typedef struct {
       int tag;
       cmo *re,*im;
   } cmo_complex;
   
   typedef struct {
       int tag;
     double d; /* machine dependent */      double d; /* machine dependent */
 } cmo_double;  } cmo_double;
   
Line 180  cmo_int32*         new_cmo_int32(int i);
Line 190  cmo_int32*         new_cmo_int32(int i);
 cmo_string*        new_cmo_string(char* s);  cmo_string*        new_cmo_string(char* s);
 cmo_mathcap*       new_cmo_mathcap(cmo* ob);  cmo_mathcap*       new_cmo_mathcap(cmo* ob);
 cmo_list*          new_cmo_list();  cmo_list*          new_cmo_list();
   cmo_list*          new_cmo_list_array(void *a[], int n);
   cmo_list*          new_cmo_list_array_map(void *a[], int n, void *(* mapf)(void *));
 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);
 cmo_zz*            new_cmo_zz();  cmo_zz*            new_cmo_zz();
Line 188  cmo_zz*            new_cmo_zz_set_si(int integer);
Line 200  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);
 cmo_qq*            new_cmo_qq_noinit();  cmo_qq*            new_cmo_qq();
 cmo_qq*            new_cmo_qq_set_mpq(mpq_ptr q);  cmo_qq*            new_cmo_qq_set_mpq(mpq_ptr q);
 cmo_qq*            new_cmo_qq_set_mpz(mpz_ptr num, mpz_ptr den);  cmo_qq*            new_cmo_qq_set_mpz(mpz_ptr num, mpz_ptr den);
   cmo_bf*            new_cmo_bf();
   cmo_bf*            new_cmo_bf_set_mpfr(mpfr_ptr q);
   cmo_complex*       new_cmo_complex();
   cmo_complex*       new_cmo_bf_set_re_im(cmo *re,cmo *im);
 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 211  char*              new_string_set_cmo(cmo* m);
Line 227  char*              new_string_set_cmo(cmo* m);
   
 cmo_error2*        make_error_object(int err_code, cmo* ob);  cmo_error2*        make_error_object(int err_code, cmo* ob);
   
   cmo*               ox_parse_lisp(char *s);
   
 /* Low level API */  /* Low level API */
 cmo*               receive_cmo(OXFILE *fp);  cmo*               receive_cmo(OXFILE *fp);
 cmo*               receive_cmo_tag(OXFILE *fp, int tag);  cmo*               receive_cmo_tag(OXFILE *fp, int tag);
Line 259  void               dump_ox_data(ox_data* m);
Line 277  void               dump_ox_data(ox_data* m);
 void               print_cmo(cmo* c);  void               print_cmo(cmo* c);
 void               resize_mpz(mpz_ptr mpz, int size);  void               resize_mpz(mpz_ptr mpz, int size);
   
   int                cmo_to_int(cmo *n);
   
 typedef cmo *(*hook_t)(OXFILE *, cmo *);  typedef cmo *(*hook_t)(OXFILE *, cmo *);
   
 int add_hook_before_send_cmo(hook_t func);  int add_hook_before_send_cmo(hook_t func);
Line 269  int add_hook_after_send_cmo(hook_t func);
Line 289  int add_hook_after_send_cmo(hook_t func);
 #define PFLAG_ADDREV   1  #define PFLAG_ADDREV   1
   
 typedef struct symbol *symbol_t;  typedef struct symbol *symbol_t;
   
 void setflag_parse(int flag);  
 cmo *parse();  
 void init_parser(char *s);  
   
 symbol_t lookup_by_symbol(char *key);  symbol_t lookup_by_symbol(char *key);
 symbol_t lookup_by_token(int tok);  symbol_t lookup_by_token(int tok);

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.38

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