version 1.3, 2000/08/22 05:04:17 |
version 1.9, 2001/09/03 07:01:08 |
|
|
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* 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/io/bload.c,v 1.2 2000/08/21 08:31:38 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/bload.c,v 1.8 2001/03/16 01:56:18 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
#if INET |
|
#include "com.h" |
#include "com.h" |
#endif |
|
#if PARI |
#if PARI |
#include "genpari.h" |
#include "genpari.h" |
int get_lg(GEN); |
int get_lg(GEN); |
Line 68 void loadr(FILE *,R *); |
|
Line 66 void loadr(FILE *,R *); |
|
void loadp(FILE *,P *); |
void loadp(FILE *,P *); |
void loadgf2n(FILE *,GF2N *); |
void loadgf2n(FILE *,GF2N *); |
void loadgfpn(FILE *,GFPN *); |
void loadgfpn(FILE *,GFPN *); |
|
void loadgfs(FILE *,GFS *); |
|
void loadgfsn(FILE *,GFSN *); |
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 76 void loadreal(FILE *,Real *); |
|
Line 76 void loadreal(FILE *,Real *); |
|
void loadq(FILE *,Q *); |
void loadq(FILE *,Q *); |
void loadnum(FILE *,Num *); |
void loadnum(FILE *,Num *); |
void loadgfmmat(FILE *,GFMMAT *); |
void loadgfmmat(FILE *,GFMMAT *); |
|
void loadbytearray(FILE *,BYTEARRAY *); |
|
|
V loadpfins(FILE *); |
V loadpfins(FILE *); |
|
|
extern VL file_vl; |
extern VL file_vl; |
|
|
void (*loadf[])() = { 0, loadnum, loadp, loadr, loadlist, loadvect, loadmat, |
void (*loadf[])() = { 0, loadnum, loadp, loadr, loadlist, loadvect, loadmat, |
loadstring, 0, loaddp, loadui, loaderror,0,0,0,loadgfmmat }; |
loadstring, 0, loaddp, loadui, loaderror,0,0,0,loadgfmmat, loadbytearray }; |
void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn }; |
#if defined(INTERVAL) |
|
void loaditv(); |
|
void loaditvd(); |
|
void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loaditv, loaditvd, 0, loaditv, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn }; |
|
#else |
|
void (*nloadf[])() = { loadq, loadreal, 0, loadbf, loadcplx, loadmi, loadlm, loadgf2n, loadgfpn, loadgfs, loadgfsn }; |
|
#endif |
|
|
void loadobj(s,p) |
void loadobj(s,p) |
FILE *s; |
FILE *s; |
|
|
#endif |
#endif |
} |
} |
|
|
|
#if defined(INTERVAL) |
|
void loaditv(s,p) |
|
FILE *s; |
|
Itv *p; |
|
{ |
|
Itv q; |
|
char dmy; |
|
|
|
read_char(s,&dmy); |
|
NEWItvP(q); loadobj(s,(Obj *)&INF(q)); loadobj(s,(Obj *)&SUP(q)); |
|
*p = q; |
|
} |
|
|
|
void loaditvd(s,p) |
|
FILE *s; |
|
ItvD *p; |
|
{ |
|
ItvD q; |
|
char dmy; |
|
|
|
read_char(s,&dmy); |
|
NEWItvD(q); |
|
read_double(s,&INF(q)); |
|
read_double(s,&SUP(q)); |
|
*p = q; |
|
} |
|
#endif |
|
|
void loadcplx(s,p) |
void loadcplx(s,p) |
FILE *s; |
FILE *s; |
C *p; |
C *p; |
|
|
MKGFPN(body,*p); |
MKGFPN(body,*p); |
} |
} |
|
|
|
void loadgfs(s,p) |
|
FILE *s; |
|
GFS *p; |
|
{ |
|
GFS q; |
|
char dmy; |
|
|
|
read_char(s,&dmy); |
|
NEWGFS(q); read_int(s,(int *)&CONT(q)); |
|
*p = q; |
|
} |
|
|
|
void loadgfsn(s,p) |
|
FILE *s; |
|
GFSN *p; |
|
{ |
|
char dmy; |
|
int d; |
|
UM body; |
|
|
|
read_char(s,&dmy); read_int(s,&d); |
|
body = UMALLOC(d); DEG(body) = d; |
|
read_intarray(s,COEF(body),d+1); |
|
MKGFSN(body,*p); |
|
} |
|
|
void loadp(s,p) |
void loadp(s,p) |
FILE *s; |
FILE *s; |
P *p; |
P *p; |
|
|
} else |
} else |
t = ""; |
t = ""; |
*p = t; |
*p = t; |
|
} |
|
|
|
void loadbytearray(s,p) |
|
FILE *s; |
|
BYTEARRAY *p; |
|
{ |
|
int len; |
|
BYTEARRAY array; |
|
|
|
read_int(s,&len); |
|
MKBYTEARRAY(array,len); |
|
if ( len ) { |
|
read_string(s,array->body,len); |
|
} |
|
*p = array; |
} |
} |
|
|
void loaddp(s,p) |
void loaddp(s,p) |