![]() ![]() | ![]() |
version 1.33, 2004/05/14 06:02:54 | version 1.42, 2018/03/29 07:50:06 | ||
---|---|---|---|
|
|
||
* 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.32 2004/03/17 03:22:47 noro Exp $ | * $OpenXM: OpenXM_contrib2/asir2000/io/spexpr.c,v 1.41 2018/03/29 01:32:53 noro 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; | ||
|
|
||
#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 PRINTNBP sprintnbp | |||
#define PRINTERR sprinterr | #define PRINTERR sprinterr | ||
#define PRINTLF sprintlf | #define PRINTLF sprintlf | ||
#define PRINTLOP sprintlop | #define PRINTLOP sprintlop | ||
|
|
||
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 myoutbrute(g) | |||
GEN g; | |||
{ | |||
# if PARI_VERSION_CODE > 131588 | |||
brute(g, 'f', -1); | |||
# else | |||
bruteall(g,'f',-1,1); | |||
# endif | |||
} | |||
void sprintbf(BF a) | void sprintbf(BF a) | ||
{ | { | ||
char *str; | int dprec; | ||
char *GENtostr0(); | char fbuf[BUFSIZ]; | ||
char *s; | |||
if ( double_output ) { | dprec = a->body->_mpfr_prec*0.30103; | ||
str = GENtostr0(a->body,myoutbrute); | sprintf(fbuf,"%%.%dR%c",dprec,(double_output==1)?'f':(double_output==2)?'e':'g'); | ||
} else { | mpfr_asprintf(&s,fbuf,a->body); | ||
str = GENtostr(a->body); | TAIL PUTS(s); | ||
} | mpfr_free_str(s); | ||
TAIL PRINTF(OUT,"%s",str); | |||
free(str); | |||
} | } | ||
#endif | |||