version 1.34, 2004/07/13 07:59:54 |
version 1.44, 2019/12/24 10:26:38 |
|
|
* 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/spexpr.c,v 1.33 2004/05/14 06:02:54 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/spexpr.c,v 1.43 2019/11/12 10:52:05 kondoh Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "al.h" |
#include "al.h" |
|
|
#define SPRINT |
#define SPRINT |
#endif |
#endif |
|
|
#if defined(PARI) |
|
#include "genpari.h" |
|
#endif |
|
|
|
extern int outputstyle; |
extern int outputstyle; |
|
|
static char *buf; |
static char *buf; |
Line 90 extern int hideargs; |
|
Line 86 extern int hideargs; |
|
#define PRINTLIST sprintlist |
#define PRINTLIST sprintlist |
#define PRINTVECT sprintvect |
#define PRINTVECT sprintvect |
#define PRINTMAT sprintmat |
#define PRINTMAT sprintmat |
|
#define PRINTIMAT sprintimat |
#define PRINTSTR sprintstr |
#define PRINTSTR sprintstr |
#define PRINTCOMP sprintcomp |
#define PRINTCOMP sprintcomp |
#define PRINTDP sprintdp |
#define PRINTDP sprintdp |
|
#define PRINTDPM sprintdpm |
#define PRINTUI sprintui |
#define PRINTUI sprintui |
#define PRINTGF2MAT sprintgf2mat |
#define PRINTGF2MAT sprintgf2mat |
#define PRINTGFMMAT sprintgfmmat |
#define PRINTGFMMAT sprintgfmmat |
#define PRINTBYTEARRAY sprintbytearray |
#define PRINTBYTEARRAY sprintbytearray |
#define PRINTQUOTE sprintquote |
#define PRINTQUOTE sprintquote |
#define PRINTQUOTEARG sprintquotearg |
#define PRINTQUOTEARG sprintquotearg |
|
#define PRINTNBP sprintnbp |
#define PRINTERR sprinterr |
#define PRINTERR sprinterr |
#define PRINTLF sprintlf |
#define PRINTLF sprintlf |
#define PRINTLOP sprintlop |
#define PRINTLOP sprintlop |
Line 116 extern int hideargs; |
|
Line 115 extern int hideargs; |
|
#define PRINTFNODENODE sprintfnodenode |
#define PRINTFNODENODE sprintfnodenode |
#define PRINTFARGS sprintfargs |
#define PRINTFARGS sprintfargs |
|
|
|
#if defined(INTERVAL) |
|
#define PRINTBF4ITV sprintbf4itv |
|
#endif |
|
|
#include "pexpr_body.c" |
#include "pexpr_body.c" |
|
|
/* special functions for string output */ |
/* special functions for string output */ |
Line 123 extern int hideargs; |
|
Line 126 extern int hideargs; |
|
void soutput_init(s) |
void soutput_init(s) |
char *s; |
char *s; |
{ |
{ |
s[0] = 0; buf = s; |
s[0] = 0; buf = s; |
} |
} |
|
|
#if defined(PARI) |
void sprintbf(BF a) |
void myoutbrute(g) |
|
GEN g; |
|
{ |
{ |
# if PARI_VERSION_CODE > 131588 |
int dprec; |
brute(g, 'f', -1); |
char fbuf[BUFSIZ]; |
# else |
char *s; |
bruteall(g,'f',-1,1); |
dprec = a->body->_mpfr_prec*0.30103; |
# endif |
sprintf(fbuf,"%%.%dR%c",dprec,(double_output==1)?'f':(double_output==2)?'e':'g'); |
|
mpfr_asprintf(&s,fbuf,a->body); |
|
TAIL PUTS(s); |
|
mpfr_free_str(s); |
} |
} |
|
|
void sprintbf(BF a) |
#if defined(INTERVAL) |
|
void sprintbf4itv(BF a) |
{ |
{ |
char *str; |
int dprec; |
char *GENtostr0(); |
char fbuf[BUFSIZ]; |
|
char *s; |
|
|
if ( double_output ) { |
if ( !a ) { |
str = GENtostr0(a->body,myoutbrute); |
TAIL PUTS("0"); |
} else { |
} else { |
str = GENtostr(a->body); |
dprec = a->body->_mpfr_prec*0.30103; |
} |
dprec += 1; |
TAIL PRINTF(OUT,"%s",str); |
sprintf(fbuf,"%%.%dR%c",dprec,(double_output==1)?'f':(double_output==2)?'e':'g'); |
free(str); |
mpfr_asprintf(&s,fbuf,a->body); |
|
TAIL PUTS(s); |
|
mpfr_free_str(s); |
|
} |
} |
} |
#endif |
#endif |
|
|