version 1.26, 2003/12/24 08:00:38 |
version 1.31, 2004/02/27 09:13:04 |
|
|
* 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/pexpr.c,v 1.25 2003/12/02 06:56:48 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr.c,v 1.30 2004/02/13 05:48:36 saito Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "al.h" |
#include "al.h" |
|
|
#include "comp.h" |
#include "comp.h" |
#include "base.h" |
#include "base.h" |
|
|
|
#if defined(PARI) |
|
#include "genpari.h" |
|
#endif |
|
|
#ifndef FPRINT |
#ifndef FPRINT |
#define FPRINT |
#define FPRINT |
#endif |
#endif |
Line 69 int double_output; |
|
Line 73 int double_output; |
|
int real_digit; |
int real_digit; |
int real_binary; |
int real_binary; |
int print_quote; |
int print_quote; |
|
extern int asir_texmacs; |
|
|
#define TAIL |
#define TAIL |
#define PUTS(s) fputs(s,OUT) |
#define PUTS(s) fputs(s,OUT) |
Line 103 int print_quote; |
|
Line 108 int print_quote; |
|
#define PRINTUP printup |
#define PRINTUP printup |
#define PRINTUM printum |
#define PRINTUM printum |
#define PRINTSF printsf |
#define PRINTSF printsf |
|
#define PRINTSYMBOL printsymbol |
|
#define PRINTRANGE printrange |
#endif |
#endif |
|
|
#ifdef SPRINT |
#ifdef SPRINT |
Line 113 extern int hex_output; |
|
Line 120 extern int hex_output; |
|
extern int fortran_output; |
extern int fortran_output; |
extern int double_output; |
extern int double_output; |
extern int real_digit; |
extern int real_digit; |
|
extern int real_binary; |
extern int print_quote; |
extern int print_quote; |
|
|
|
|
Line 149 extern int print_quote; |
|
Line 157 extern int print_quote; |
|
#define PRINTUP sprintup |
#define PRINTUP sprintup |
#define PRINTUM sprintum |
#define PRINTUM sprintum |
#define PRINTSF sprintsf |
#define PRINTSF sprintsf |
|
#define PRINTSYMBOL sprintsymbol |
|
#define PRINTRANGE sprintrange |
#endif |
#endif |
|
|
void PRINTEXPR(); |
void PRINTEXPR(); |
Line 180 void PRINTEOP(); |
|
Line 190 void PRINTEOP(); |
|
void PRINTLOP(); |
void PRINTLOP(); |
void PRINTQOP(); |
void PRINTQOP(); |
void PRINTSF(); |
void PRINTSF(); |
|
void PRINTSYMBOL(); |
|
void PRINTRANGE(); |
|
|
#ifdef FPRINT |
#ifdef FPRINT |
void output_init() { |
void output_init() { |
|
|
void printbf(a) |
void printbf(a) |
BF a; |
BF a; |
{ |
{ |
void sor(); |
|
|
|
sor(a->body,double_output ? 'f' : 'g',-1,0); |
sor(a->body,double_output ? 'f' : 'g',-1,0); |
} |
} |
#endif |
#endif |
|
|
} |
} |
|
|
#if defined(PARI) |
#if defined(PARI) |
#include "genpari.h" |
|
|
|
void myoutbrute(g) |
void myoutbrute(g) |
GEN g; |
GEN g; |
{ |
{ |
|
# if PARI_VERSION_CODE > 131588 |
|
brute(g, 'f',-1); |
|
# else |
bruteall(g,'f',-1,1); |
bruteall(g,'f',-1,1); |
|
# endif |
} |
} |
|
|
void sprintbf(a) |
void sprintbf(a) |
BF a; |
BF a; |
{ |
{ |
char *str; |
char *str; |
char *GENtostr(); |
|
char *GENtostr0(); |
char *GENtostr0(); |
|
|
if ( double_output ) { |
if ( double_output ) { |
|
|
#endif |
#endif |
#endif |
#endif |
|
|
|
#define DATA_BEGIN 2 |
|
#define DATA_END 5 |
|
|
|
extern FUNC user_print_function; |
|
|
void PRINTEXPR(vl,p) |
void PRINTEXPR(vl,p) |
VL vl; |
VL vl; |
Obj p; |
Obj p; |
{ |
{ |
|
if ( asir_texmacs && !user_print_function ) printf("\2verbatim:"); |
if ( !p ) { |
if ( !p ) { |
PRINTR(vl,(R)p); |
PRINTR(vl,(R)p); |
return; |
} else |
} |
switch ( OID(p) ) { |
|
case O_N: |
switch ( OID(p) ) { |
PRINTNUM((Num)p); break; |
case O_N: |
case O_P: |
PRINTNUM((Num)p); break; |
PRINTP(vl,(P)p); break; |
case O_P: |
case O_R: |
PRINTP(vl,(P)p); break; |
PRINTR(vl,(R)p); break; |
case O_R: |
case O_LIST: |
PRINTR(vl,(R)p); break; |
PRINTLIST(vl,(LIST)p); break; |
case O_LIST: |
case O_VECT: |
PRINTLIST(vl,(LIST)p); break; |
PRINTVECT(vl,(VECT)p); break; |
case O_VECT: |
case O_MAT: |
PRINTVECT(vl,(VECT)p); break; |
PRINTMAT(vl,(MAT)p); break; |
case O_MAT: |
case O_STR: |
PRINTMAT(vl,(MAT)p); break; |
PRINTSTR((STRING)p); break; |
case O_STR: |
case O_COMP: |
PRINTSTR((STRING)p); break; |
PRINTCOMP(vl,(COMP)p); break; |
case O_COMP: |
case O_DP: |
PRINTCOMP(vl,(COMP)p); break; |
PRINTDP(vl,(DP)p); break; |
case O_DP: |
case O_USINT: |
PRINTDP(vl,(DP)p); break; |
PRINTUI(vl,(USINT)p); break; |
case O_USINT: |
case O_GF2MAT: |
PRINTUI(vl,(USINT)p); break; |
PRINTGF2MAT(vl,(GF2MAT)p); break; |
case O_GF2MAT: |
case O_ERR: |
PRINTGF2MAT(vl,(GF2MAT)p); break; |
|
case O_ERR: |
|
PRINTERR(vl,(ERR)p); break; |
PRINTERR(vl,(ERR)p); break; |
case O_MATHCAP: |
case O_MATHCAP: |
PRINTLIST(vl,((MATHCAP)p)->body); break; |
PRINTLIST(vl,((MATHCAP)p)->body); break; |
case O_F: |
case O_F: |
PRINTLF(vl,(F)p); break; |
PRINTLF(vl,(F)p); break; |
case O_GFMMAT: |
case O_GFMMAT: |
PRINTGFMMAT(vl,(GFMMAT)p); break; |
PRINTGFMMAT(vl,(GFMMAT)p); break; |
case O_BYTEARRAY: |
case O_BYTEARRAY: |
PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; |
PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; |
case O_QUOTE: |
case O_QUOTE: |
PRINTQUOTE(vl,(QUOTE)p); break; |
PRINTQUOTE(vl,(QUOTE)p); break; |
default: |
case O_SYMBOL: |
break; |
PRINTSYMBOL((SYMBOL)p); break; |
} |
case O_RANGE: |
|
PRINTRANGE(vl,(RANGE)p); break; |
|
default: |
|
break; |
|
} |
|
if ( asir_texmacs && !user_print_function ) { putchar('\5'); fflush(stdout); } |
} |
} |
|
|
void PRINTN(n) |
void PRINTN(n) |
Line 1170 unsigned int i; |
|
Line 1190 unsigned int i; |
|
} else { |
} else { |
TAIL PRINTF(OUT,"@_%d",IFTOF(i)); |
TAIL PRINTF(OUT,"@_%d",IFTOF(i)); |
} |
} |
|
} |
|
|
|
void PRINTSYMBOL(SYMBOL sym) |
|
{ |
|
PUTS(sym->name); |
|
} |
|
|
|
void PRINTRANGE(VL vl,RANGE p) |
|
{ |
|
PUTS("range("); |
|
PRINTEXPR(vl,p->start); |
|
PUTS(","); |
|
PRINTEXPR(vl,p->end); |
|
PUTS(")"); |
} |
} |