| version 1.53, 2004/12/02 13:48:43 |
version 1.55, 2004/12/18 16:50:10 |
|
|
| * 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/include/ca.h,v 1.52 2004/10/06 11:58:52 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.54 2004/12/10 07:36:34 noro Exp $ |
| */ |
*/ |
| #include <stdio.h> |
#include <stdio.h> |
| #include <stdlib.h> |
#include <stdlib.h> |
| Line 125 typedef void * pointer; |
|
| Line 125 typedef void * pointer; |
|
| #define O_DPV 22 |
#define O_DPV 22 |
| #define O_QUOTEARG 23 |
#define O_QUOTEARG 23 |
| #define O_VOID -1 |
#define O_VOID -1 |
| |
/* IMAT */ |
| |
#define O_IMAT 24 |
| |
/* IMAT */ |
| |
|
| #define N_Q 0 |
#define N_Q 0 |
| #define N_R 1 |
#define N_R 1 |
| Line 323 typedef struct oGF2MAT { |
|
| Line 326 typedef struct oGF2MAT { |
|
| unsigned int **body; |
unsigned int **body; |
| } *GF2MAT, *GFMMAT; |
} *GF2MAT, *GFMMAT; |
| |
|
| |
/* IMAT */ |
| |
#define IMATCH 64 |
| |
|
| |
typedef struct oIENT { |
| |
int cr; |
| |
int row, col; |
| |
pointer *body; |
| |
} IENT; |
| |
|
| |
typedef struct oIMATC { |
| |
pointer *fore; |
| |
pointer *next; |
| |
IENT ient[IMATCH]; |
| |
} *IMATC; |
| |
|
| |
typedef struct oIMAT { |
| |
short id; |
| |
int row, col, clen; |
| |
pointer *root; |
| |
pointer *toor; |
| |
} *IMAT; |
| |
/* IMAT */ |
| typedef struct oLIST { |
typedef struct oLIST { |
| short id; |
short id; |
| short pad; |
short pad; |
| Line 788 bzero((char *)(q)->b,(w)*sizeof(unsigned int))) |
|
| Line 813 bzero((char *)(q)->b,(w)*sizeof(unsigned int))) |
|
| #define NEWMAT(l) ((l)=(MAT)MALLOC(sizeof(struct oMAT)),OID(l)=O_MAT) |
#define NEWMAT(l) ((l)=(MAT)MALLOC(sizeof(struct oMAT)),OID(l)=O_MAT) |
| #define NEWGF2MAT(l) ((l)=(GF2MAT)MALLOC(sizeof(struct oGF2MAT)),OID(l)=O_GF2MAT) |
#define NEWGF2MAT(l) ((l)=(GF2MAT)MALLOC(sizeof(struct oGF2MAT)),OID(l)=O_GF2MAT) |
| #define NEWGFMMAT(l) ((l)=(GFMMAT)MALLOC(sizeof(struct oGF2MAT)),OID(l)=O_GFMMAT) |
#define NEWGFMMAT(l) ((l)=(GFMMAT)MALLOC(sizeof(struct oGF2MAT)),OID(l)=O_GFMMAT) |
| |
/* IMAT */ |
| |
#define NEWIMAT(l) ((l)=(IMAT)MALLOC(sizeof(struct oIMAT)),OID(l)=O_IMAT,l->clen=0,l->root=0,l->toor=0) |
| |
#define NEWIENT(l) ((l)=(IMATC)MALLOC(sizeof(struct oIMATC)),l->fore=0,l->next=0) |
| |
/* IMAT */ |
| #define NEWReal(q) ((q)=(Real)MALLOC_ATOMIC(sizeof(struct oReal)),OID(q)=O_N,NID(q)=N_R) |
#define NEWReal(q) ((q)=(Real)MALLOC_ATOMIC(sizeof(struct oReal)),OID(q)=O_N,NID(q)=N_R) |
| #define NEWAlg(r) ((r)=(Alg)MALLOC(sizeof(struct oAlg)),OID(r)=O_N,NID(r)=N_A) |
#define NEWAlg(r) ((r)=(Alg)MALLOC(sizeof(struct oAlg)),OID(r)=O_N,NID(r)=N_A) |
| #define NEWDAlg(r) ((r)=(DAlg)MALLOC(sizeof(struct oDAlg)),OID(r)=O_N,NID(r)=N_DA) |
#define NEWDAlg(r) ((r)=(DAlg)MALLOC(sizeof(struct oDAlg)),OID(r)=O_N,NID(r)=N_DA) |
| Line 1803 void savep(FILE *,P); |
|
| Line 1832 void savep(FILE *,P); |
|
| void savegf2n(FILE *,GF2N); |
void savegf2n(FILE *,GF2N); |
| void savegfpn(FILE *,GFPN); |
void savegfpn(FILE *,GFPN); |
| void savegfs(FILE *,GFS); |
void savegfs(FILE *,GFS); |
| |
void savedalg(FILE *,DAlg); |
| void savelm(FILE *,LM); |
void savelm(FILE *,LM); |
| void savemi(FILE *,MQ); |
void savemi(FILE *,MQ); |
| void savecplx(FILE *,C); |
void savecplx(FILE *,C); |
| Line 1828 void loadgf2n(FILE *,GF2N *); |
|
| Line 1858 void loadgf2n(FILE *,GF2N *); |
|
| void loadgfpn(FILE *,GFPN *); |
void loadgfpn(FILE *,GFPN *); |
| void loadgfs(FILE *,GFS *); |
void loadgfs(FILE *,GFS *); |
| void loadgfsn(FILE *,GFSN *); |
void loadgfsn(FILE *,GFSN *); |
| |
void loaddalg(FILE *,DAlg *); |
| void loadlm(FILE *,LM *); |
void loadlm(FILE *,LM *); |
| void loadmi(FILE *,MQ *); |
void loadmi(FILE *,MQ *); |
| void loadcplx(FILE *,C *); |
void loadcplx(FILE *,C *); |
| Line 2529 void afctrmain(VL vl,P p0,P p,int init,DCP *dcp); |
|
| Line 2560 void afctrmain(VL vl,P p0,P p,int init,DCP *dcp); |
|
| int divtmp(VL vl,int mod,P p1,P p2,P *q); |
int divtmp(VL vl,int mod,P p1,P p2,P *q); |
| int divtdcmp(VL vl,int mod,P p1,P p2,P *q); |
int divtdcmp(VL vl,int mod,P p1,P p2,P *q); |
| void GC_gcollect(); |
void GC_gcollect(); |
| |
|
| |
/* IMAT */ |
| |
void Pnewimat(NODE, IMAT *); |
| |
void PChsgnI(NODE, IMAT *); |
| |
void Pm2Im(NODE, IMAT *); |
| |
void PIm2m(NODE, MAT *); |
| |
|
| |
void AddMatI(VL, IMAT, IMAT, IMAT *); |
| |
void MulMatI(VL, IMAT, IMAT, IMAT *); |
| |
void MulMatG(VL, Obj, Obj, Obj *); |
| |
void MulrMatI(VL, Obj, Obj, Obj *); |
| |
void MulMatS(VL, IMAT, IMAT, IMAT *); |
| |
void PutIent(IMAT, int, int, Obj); |
| |
void GetIent(IMAT, int, int, Obj); |
| |
void GetIbody(IMAT, int, int, Obj *); |
| |
void ChsgnI(IMAT, IMAT *c); |
| |
void AppendIent(IMAT, int, int, Obj); |
| |
void MEnt(int, int, int, Obj, IENT *); |
| |
void GetForeIent(IMATC *, IENT *, int *); |
| |
void GetNextIent(IMATC *, IENT *, int *); |
| |
void SubMatI(VL, IMAT, IMAT, IMAT *); |
| |
/* IMAT */ |
| |
|
| Z stoz(int c); |
Z stoz(int c); |
| Z utoz(unsigned int c); |
Z utoz(unsigned int c); |