[BACK]Return to spexpr.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/spexpr.c between version 1.36 and 1.44

version 1.36, 2005/11/16 23:42:54 version 1.44, 2019/12/24 10:26:38
Line 44 
Line 44 
  * 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.35 2004/12/18 16:50:10 saito 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"
Line 56 
Line 56 
 #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 94  extern int hideargs;
Line 90  extern int hideargs;
 #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
Line 118  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 125  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
   

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.44

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>