[BACK]Return to binomial.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / TiGERS_0.9

Annotation of OpenXM_contrib/TiGERS_0.9/binomial.h, Revision 1.1.1.1

1.1       maekawa     1: /*
                      2: ** binomial.h                                 Birk Huber, 4/99
                      3: ** -- header file for binomal type and main operations on binomials
                      4: **
                      5: **
                      6: ** TiGERS,  Toric Groebner Basis Enumeration by Reverse Search
                      7: ** copyright (c) 1999  Birk Huber
                      8: **
                      9: */
                     10:
                     11: #ifndef BINOMIAL_H
                     12: extern int ring_N;
                     13: extern int ring_lv;
                     14: extern int *ring_weight;
                     15: #endif
                     16:
                     17: int ring_set(int n);
                     18: int ring_getvar(FILE *ifile);
                     19: #define ring_putvar(ofile,v) fprintf(ofile,"%c",'a'+v)
                     20:
                     21:
                     22: typedef int *monomial;
                     23: int monomial_divides(monomial m1, monomial m2);
                     24: int monomial_equal(monomial m1, monomial m2);
                     25: int monomial_lexcomp(monomial m1, monomial m2);
                     26: int monomial_rlexcomp(monomial m1, monomial m2);
                     27:
                     28: typedef struct bin_tag *binomial;
                     29: struct bin_tag{
                     30:   int *exps1;
                     31:   int *exps2;
                     32:   int *E;
                     33:   int ff;
                     34:   int bf;
                     35:   binomial next;
                     36:   };
                     37:
                     38:
                     39: #define BINOMIAL 1
                     40: #define MONOMIAL 0
                     41: #define FACET    0
                     42: #define NONFACET 1
                     43: #define UNKNOWN -1
                     44:
                     45: #define binomial_next(b) (b->next)
                     46: #define binomial_lead(b) (b->exps1)
                     47: #define binomial_trail(b) (b->exps2)
                     48: #define monomial_set(b)   (b->bf=MONOMIAL)
                     49: #define binomial_set(b)   (b->bf=BINOMIAL)
                     50: #define binomial_facet(b) (b->ff)
                     51: binomial binomial_new();
                     52: void binomial_free(binomial m);
                     53: void binomial_read(FILE *is, binomial b);
                     54: void binomial_print(FILE *of, binomial b);
                     55: binomial monomial_spair(binomial b,monomial m);
                     56: void binomial_flip(binomial b);
                     57: int binomial_spair(binomial b1, binomial b2);
                     58: /*
                     59: ** return TRUE if binomials marking agrees with respect to the
                     60: ** lexicographic term order
                     61: */
                     62: #define binomial_ordered(b)\
                     63:   ((monomial_lexcomp(binomial_lead(b),binomial_trail(b))>=0) ? TRUE : FALSE)

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