[BACK]Return to parse.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/parse.h between version 1.56 and 1.57

version 1.56, 2017/08/31 02:36:21 version 1.57, 2018/03/29 01:32:54
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.55 2015/08/14 13:51:56 fujimoto Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.56 2017/08/31 02:36:21 noro Exp $
 */  */
 # if defined(VISUAL) || defined(__MINGW32__)  # if defined(VISUAL) || defined(__MINGW32__)
 #include <time.h>  #include <time.h>
Line 62 
Line 62 
 /* identifiers for expressions */  /* identifiers for expressions */
   
 typedef enum {  typedef enum {
         I_BOP, I_COP, I_AND, I_OR, I_NOT, I_CE,    I_BOP, I_COP, I_AND, I_OR, I_NOT, I_CE,
         I_PRESELF, I_POSTSELF,    I_PRESELF, I_POSTSELF,
         I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV,    I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV,
         I_ANS, I_PVAR, I_ASSPVAR,    I_ANS, I_PVAR, I_ASSPVAR,
         I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST,    I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST,
         I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN,    I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN,
         I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS,    I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS,
         I_NARYOP, I_CONS, I_FUNC_QARG, I_FUNC_HEAD, I_EVM    I_NARYOP, I_CONS, I_FUNC_QARG, I_FUNC_HEAD, I_EVM
 } fid;  } fid;
   
 /* identifiers for statements */  /* identifiers for statements */
   
 typedef enum {  typedef enum {
         S_BP, S_PFDEF,    S_BP, S_PFDEF,
         S_SINGLE, S_CPLX,    S_SINGLE, S_CPLX,
         S_IFELSE, S_FOR, S_DO,    S_IFELSE, S_FOR, S_DO,
         S_BREAK, S_RETURN, S_CONTINUE,    S_BREAK, S_RETURN, S_CONTINUE,
         S_MODULE    S_MODULE
 } sid;  } sid;
   
 /* identifiers for comparison operators */  /* identifiers for comparison operators */
Line 99  typedef enum { A_UNDEF, A_BIN, A_USR, A_PURE, A_PARI }
Line 99  typedef enum { A_UNDEF, A_BIN, A_USR, A_PURE, A_PARI }
 typedef enum { V_IND, V_UC, V_PF, V_SR } vid;  typedef enum { V_IND, V_UC, V_PF, V_SR } vid;
   
 typedef struct oVS {  typedef struct oVS {
         unsigned int n;    unsigned int n;
         unsigned int asize;    unsigned int asize;
         unsigned int at;    unsigned int at;
         unsigned int level;    unsigned int level;
         struct oFUNC *usrf;    struct oFUNC *usrf;
         struct oPV *va;    struct oPV *va;
         NODE opt;    NODE opt;
 } *VS;  } *VS;
   
 typedef struct oMODULE {  typedef struct oMODULE {
         char *name;    char *name;
         VS pvs;    VS pvs;
         NODE usrf_list;    NODE usrf_list;
 } *MODULE;  } *MODULE;
   
 typedef struct oPV {  typedef struct oPV {
         char *name;    char *name;
         short attr,type;    short attr,type;
         pointer priv;    pointer priv;
 } *PV;  } *PV;
   
 typedef struct oINFILE {  typedef struct oINFILE {
         char *name;    char *name;
         FILE *fp;    FILE *fp;
         JMP_BUF jmpbuf;    JMP_BUF jmpbuf;
         int ready_for_longjmp;    int ready_for_longjmp;
         int ln;    int ln;
         struct oINFILE *next;    struct oINFILE *next;
         char *tname;    char *tname;
         int encoded;    int encoded;
         short vol;    short vol;
 } *INFILE;  } *INFILE;
   
 struct oTKWD {  struct oTKWD {
         char *name;    char *name;
         int token;    int token;
 };  };
   
 typedef struct fid_spec {  typedef struct fid_spec {
         fid id;    fid id;
         farg_type type[10];    farg_type type[10];
 } *fid_spec_p;  } *fid_spec_p;
   
 typedef struct oARF {  typedef struct oARF {
         char *name;    char *name;
         void (*fp)();    void (*fp)();
 } *ARF;  } *ARF;
   
 typedef struct oFUNC {  typedef struct oFUNC {
         char *name,*fullname;    char *name,*fullname;
         int argc;    int argc;
         int type;    int type;
         int secure;    int secure;
         aid id;    aid id;
         unsigned int quote;    unsigned int quote;
         union {    union {
                 void (*binf)();      void (*binf)();
                 struct oUSRF *usrf;      struct oUSRF *usrf;
                 struct oPF *puref;      struct oPF *puref;
         } f;    } f;
 } *FUNC;  } *FUNC;
   
 typedef struct oUSRF {  typedef struct oUSRF {
         char *fname;    char *fname;
         MODULE module;    MODULE module;
         int startl,endl;    int startl,endl;
         NODE args;    NODE args;
         VS pvs;    VS pvs;
         char *desc;    char *desc;
         struct oSNODE *body;    struct oSNODE *body;
 } *USRF;  } *USRF;
   
 typedef struct oPF {  typedef struct oPF {
         char *name;    char *name;
         int argc;    int argc;
         Obj body;    Obj body;
         V *args;    V *args;
         Obj *deriv;    Obj *deriv;
         NODE ins;    NODE ins;
         int (*pari)();    int (*pari)();
         double (*libm)();    double (*libm)();
         int (*simplify)();    int (*simplify)();
 } *PF;  } *PF;
   
 typedef struct oPFAD {  typedef struct oPFAD {
         Obj arg;    Obj arg;
         int d;    int d;
 } *PFAD;  } *PFAD;
   
 typedef struct oPFINS {  typedef struct oPFINS {
         struct oPF *pf;    struct oPF *pf;
         struct oPFAD ad[1];    struct oPFAD ad[1];
 } *PFINS;  } *PFINS;
   
 #define NEWPF(p) ((p)=(PF)MALLOC(sizeof(struct oPF)))  #define NEWPF(p) ((p)=(PF)MALLOC(sizeof(struct oPF)))
   
 typedef struct oFNODE {  typedef struct oFNODE {
         short id;    short id;
         unsigned normalized:1;    unsigned normalized:1;
         unsigned expanded:2;    unsigned expanded:2;
         unsigned coef:1;    unsigned coef:1;
         pointer arg[1];    pointer arg[1];
 } *FNODE;  } *FNODE;
   
 #define NEWFNODE(a,b) \  #define NEWFNODE(a,b) \
 ((a)=(FNODE)MALLOC(sizeof(struct oFNODE)+sizeof(pointer)*(b-1)))  ((a)=(FNODE)MALLOC(sizeof(struct oFNODE)+sizeof(pointer)*(b-1)))
   
 typedef struct oSNODE {  typedef struct oSNODE {
         sid id;    sid id;
         int ln;    int ln;
         pointer arg[1];    pointer arg[1];
 } *SNODE;  } *SNODE;
   
 #define NEWSNODE(a,b) \  #define NEWSNODE(a,b) \
 ((a)=(SNODE)MALLOC(sizeof(struct oSNODE)+sizeof(pointer)*(b-1)),(a)->ln=asir_infile->ln)  ((a)=(SNODE)MALLOC(sizeof(struct oSNODE)+sizeof(pointer)*(b-1)),(a)->ln=asir_infile->ln)
   
 typedef struct oPVI {  typedef struct oPVI {
         int pv;    int pv;
         NODE index;    NODE index;
 } *PVI;  } *PVI;
   
 typedef struct oNODE2 {  typedef struct oNODE2 {
         pointer body1,body2;    pointer body1,body2;
         struct oNODE2 *next;    struct oNODE2 *next;
 } *NODE2;  } *NODE2;
   
 struct ftab {  struct ftab {
         char *name;    char *name;
         void (*f)();    void (*f)();
         int argc;    int argc;
         unsigned int quote;    unsigned int quote;
 };  };
   
 #define MKPVI(a,b,c)\  #define MKPVI(a,b,c)\
Line 257  struct ftab {
Line 257  struct ftab {
   
 #define asir_assert(ptr,id,message)\  #define asir_assert(ptr,id,message)\
 switch ( id ) {\  switch ( id ) {\
         case O_N: case O_P: case O_R:\    case O_N: case O_P: case O_R:\
                 if( (ptr) && (OID(ptr) > (id)) ) {\      if( (ptr) && (OID(ptr) > (id)) ) {\
                         fprintf(stderr,message);\        fprintf(stderr,message);\
                         error(" : invalid argument");\        error(" : invalid argument");\
                 }\      }\
                 break;\      break;\
         case O_DP:\    case O_DP:\
                 if( (ptr) && (OID(ptr) != (id)) ) {\      if( (ptr) && (OID(ptr) != (id)) ) {\
                         fprintf(stderr,message);\        fprintf(stderr,message);\
                         error(" : invalid argument");\        error(" : invalid argument");\
                 }\      }\
                 break;\      break;\
         default:\    default:\
                 if( !(ptr) || (OID(ptr) != (id)) ) {\      if( !(ptr) || (OID(ptr) != (id)) ) {\
                         fprintf(stderr,message);\        fprintf(stderr,message);\
                         error(" : invalid argument");\        error(" : invalid argument");\
                 }\      }\
                 break;\      break;\
 }  }
   
 #define DEFSIZE 32  #define DEFSIZE 32
Line 724  void reduce_reducers_mod(int **mat,int row,int col,int
Line 724  void reduce_reducers_mod(int **mat,int row,int col,int
 void pre_reduce_mod(int **mat,int row,int col,int nred,int md);  void pre_reduce_mod(int **mat,int row,int col,int nred,int md);
 void reduce_sp_by_red_mod(int *sp,int **redmat,int *ind,int nred,int col,int md);  void reduce_sp_by_red_mod(int *sp,int **redmat,int *ind,int nred,int col,int md);
 void red_by_compress(int m,unsigned int *p,unsigned int *r,  void red_by_compress(int m,unsigned int *p,unsigned int *r,
         unsigned int *ri,unsigned int hc,int len);    unsigned int *ri,unsigned int hc,int len);
 void red_by_vect(int m,unsigned int *p,unsigned int *r,unsigned int hc,int len);  void red_by_vect(int m,unsigned int *p,unsigned int *r,unsigned int hc,int len);
 void reduce_sp_by_red_mod_compress (int *sp,CDP *redmat,int *ind,  void reduce_sp_by_red_mod_compress (int *sp,CDP *redmat,int *ind,
         int nred,int col,int md);    int nred,int col,int md);
 int generic_gauss_elim_mod(int **mat0,int row,int col,int md,int *colstat);  int generic_gauss_elim_mod(int **mat0,int row,int col,int md,int *colstat);
 int lu_gfmmat(GFMMAT mat,unsigned int md,int *perm);  int lu_gfmmat(GFMMAT mat,unsigned int md,int *perm);
 int find_lhs_and_lu_mod(unsigned int **a,int row,int col,  int find_lhs_and_lu_mod(unsigned int **a,int row,int col,
         unsigned int md,int **rinfo,int **cinfo);    unsigned int md,int **rinfo,int **cinfo);
 void solve_by_lu_mod(int **a,int n,int md,int **b,int l,int normalize);  void solve_by_lu_mod(int **a,int n,int md,int **b,int l,int normalize);
 int gauss_elim_mod1(int **mat,int row,int col,int md);  int gauss_elim_mod1(int **mat,int row,int col,int md);
 int gauss_elim_geninv_mod(unsigned int **mat,int row,int col,int md);  int gauss_elim_geninv_mod(unsigned int **mat,int row,int col,int md);
 void solve_by_lu_gfmmat(GFMMAT lu,unsigned int md,unsigned int *b,unsigned int *x);  void solve_by_lu_gfmmat(GFMMAT lu,unsigned int md,unsigned int *b,unsigned int *x);
 void mat_to_gfmmat(MAT m,unsigned int md,GFMMAT *rp);  void mat_to_gfmmat(MAT m,unsigned int md,GFMMAT *rp);
 int gauss_elim_geninv_mod_swap(unsigned int **mat,int row,int col,  int gauss_elim_geninv_mod_swap(unsigned int **mat,int row,int col,
         unsigned int md,unsigned int ***invmatp,int **indexp);    unsigned int md,unsigned int ***invmatp,int **indexp);
 void inner_product_int(Q *a,Q *b,int n,Q *r);  void inner_product_int(Q *a,Q *b,int n,Q *r);
 void inner_product_mat_int_mod(Q **a,int **b,int n,int k,int l,Q *r);  void inner_product_mat_int_mod(Q **a,int **b,int n,int k,int l,Q *r);
 int generate_ONB_polynomial(UP2 *rp,int m,int type);  int generate_ONB_polynomial(UP2 *rp,int m,int type);
Line 821  void init_cmdwin();
Line 821  void init_cmdwin();
 void searchpf(char *name,FUNC *fp);  void searchpf(char *name,FUNC *fp);
 void searchc(char *name,FUNC *fp);  void searchc(char *name,FUNC *fp);
 void mkpf(char *name,Obj body,int argc,V *args,  void mkpf(char *name,Obj body,int argc,V *args,
         int (*parif)(),double (*libmf)(), int (*simp)(),PF *pfp);    int (*parif)(),double (*libmf)(), int (*simp)(),PF *pfp);
 void mkpfins(PF pf,V *args,V *vp);  void mkpfins(PF pf,V *args,V *vp);
 void _mkpfins(PF pf,Obj *args,V *vp);  void _mkpfins(PF pf,Obj *args,V *vp);
 void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp);  void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp);
Line 873  void appenduf(char *name,FUNC *r);
Line 873  void appenduf(char *name,FUNC *r);
 void mkparif(char *name,FUNC *r);  void mkparif(char *name,FUNC *r);
 void mkuf(char *name,char *fname,NODE args,SNODE body,int startl,int endl,char *desc,MODULE module);  void mkuf(char *name,char *fname,NODE args,SNODE body,int startl,int endl,char *desc,MODULE module);
 Obj getopt_from_cpvs(char *key);  Obj getopt_from_cpvs(char *key);
 void    des_enc(unsigned long *, unsigned char *, unsigned long *);  void  des_enc(unsigned long *, unsigned char *, unsigned long *);
 unsigned long   round_func(unsigned long , unsigned char *);  unsigned long  round_func(unsigned long , unsigned char *);
 unsigned long   s_box_func(unsigned char *);  unsigned long  s_box_func(unsigned char *);
 void    des_dec(unsigned long *, unsigned char *, unsigned long *);  void  des_dec(unsigned long *, unsigned char *, unsigned long *);
 void    key_schedule(unsigned char *,unsigned char *);  void  key_schedule(unsigned char *,unsigned char *);
 void debug_init();  void debug_init();
 void add_alias(char *com,char *alias);  void add_alias(char *com,char *alias);
 void show_alias(char *alias);  void show_alias(char *alias);

Legend:
Removed from v.1.56  
changed lines
  Added in v.1.57

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