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

Diff for /OpenXM_contrib2/asir2000/io/pexpr.c between version 1.3 and 1.8

version 1.3, 2000/08/21 08:31:38 version 1.8, 2000/12/16 06:16:10
Line 23 
Line 23 
  * shall be made on your publication or presentation in any form of the   * shall be made on your publication or presentation in any form of the
  * results obtained by use of the SOFTWARE.   * results obtained by use of the SOFTWARE.
  * (4) In the event that you modify the SOFTWARE, you shall notify FLL by   * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
  * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification   * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
  * for such modification or the source code of the modified part of the   * for such modification or the source code of the modified part of the
  * SOFTWARE.   * SOFTWARE.
  *   *
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/pexpr.c,v 1.2 2000/02/07 03:14:39 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/pexpr.c,v 1.7 2000/12/15 05:30:08 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "al.h"  #include "al.h"
Line 64  FILE *asir_out;
Line 64  FILE *asir_out;
 char DFORMAT[BUFSIZ];  char DFORMAT[BUFSIZ];
 int hex_output;  int hex_output;
 int fortran_output;  int fortran_output;
   int double_output;
   
 #define TAIL  #define TAIL
 #define PUTS(s) fputs(s,OUT)  #define PUTS(s) fputs(s,OUT)
Line 87  int fortran_output;
Line 88  int fortran_output;
 #define PRINTUI printui  #define PRINTUI printui
 #define PRINTGF2MAT printgf2mat  #define PRINTGF2MAT printgf2mat
 #define PRINTGFMMAT printgfmmat  #define PRINTGFMMAT printgfmmat
   #define PRINTBYTEARRAY printbytearray
 #define PRINTERR printerr  #define PRINTERR printerr
 #define PRINTLF printlf  #define PRINTLF printlf
 #define PRINTLOP printlop  #define PRINTLOP printlop
Line 125  extern int fortran_output;
Line 127  extern int fortran_output;
 #define PRINTUI sprintui  #define PRINTUI sprintui
 #define PRINTGF2MAT sprintgf2mat  #define PRINTGF2MAT sprintgf2mat
 #define PRINTGFMMAT sprintgfmmat  #define PRINTGFMMAT sprintgfmmat
   #define PRINTBYTEARRAY sprintbytearray
 #define PRINTERR sprinterr  #define PRINTERR sprinterr
 #define PRINTLF sprintlf  #define PRINTLF sprintlf
 #define PRINTLOP sprintlop  #define PRINTLOP sprintlop
Line 149  void PRINTDP();
Line 152  void PRINTDP();
 void PRINTUI();  void PRINTUI();
 void PRINTGF2MAT();  void PRINTGF2MAT();
 void PRINTGFMMAT();  void PRINTGFMMAT();
   void PRINTBYTEARRAY();
 void PRINTERR();  void PRINTERR();
 void PRINTCPLX();  void PRINTCPLX();
 void PRINTLM();  void PRINTLM();
Line 179  P p;
Line 183  P p;
 void printbf(a)  void printbf(a)
 BF a;  BF a;
 {  {
         sor(a->body,'g',-1,0);          sor(a->body,double_output ? 'f' : 'g',-1,0);
 }  }
 #endif  #endif
 #endif  #endif
Line 192  char *s;
Line 196  char *s;
 }  }
   
 #if PARI  #if PARI
   #include "genpari.h"
   
   void myoutbrute(g)
   GEN g;
   {
           bruteall(g,'f',-1,1);
   }
   
 void sprintbf(a)  void sprintbf(a)
 BF a;  BF a;
 {  {
         char *str;          char *str;
         char *GENtostr();          char *GENtostr();
           char *GENtostr0();
   
         str = GENtostr(a->body);          if ( double_output ) {
                   str = GENtostr0(a->body,myoutbrute);
           } else {
                   str = GENtostr(a->body);
           }
         TAIL PRINTF(OUT,"%s",str);          TAIL PRINTF(OUT,"%s",str);
         free(str);          free(str);
 }  }
Line 245  Obj p;
Line 262  Obj p;
                         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:
                           PRINTBYTEARRAY(vl,(BYTEARRAY)p); break;
                 default:                  default:
                         break;                          break;
         }          }
Line 298  Num q;
Line 317  Num q;
                         }                          }
                         break;                          break;
                 case N_R:                  case N_R:
                         TAIL PRINTF(OUT,"%g",BDY((Real)q));                          TAIL PRINTF(OUT,double_output?"%f":"%g",BDY((Real)q));
                         break;                          break;
                 case N_A:                  case N_A:
                         PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")");                          PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")");
Line 612  GFMMAT mat;
Line 631  GFMMAT mat;
                 }                  }
                 PUTS("]\n");                  PUTS("]\n");
         }          }
   }
   
   void PRINTBYTEARRAY(vl,array)
   VL vl;
   BYTEARRAY array;
   {
           int len,i;
           unsigned int t;
           unsigned char *b;
   
           len = array->len;
           b = array->body;
           PUTS("|");
           for ( i = 0; i < len-1; i++ ) {
                   TAIL PRINTF(OUT,"%02x ",(unsigned int)b[i]);
           }
           TAIL PRINTF(OUT,"%02x",(unsigned int)b[i]);
           PUTS("|");
 }  }
   
 void PRINTERR(vl,e)  void PRINTERR(vl,e)

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.8

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