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

Diff for /OpenXM_contrib2/asir2000/builtin/array.c between version 1.50 and 1.52

version 1.50, 2006/01/05 00:21:20 version 1.52, 2006/05/30 07:35:30
Line 45 
Line 45 
  * 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/builtin/array.c,v 1.49 2005/12/21 23:18:15 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.51 2006/03/16 10:08:20 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
 #include "parse.h"  #include "parse.h"
 #include "inline.h"  #include "inline.h"
   
   #include <sys/types.h>
   #include <sys/stat.h>
   #include <unistd.h>
   
 #define F4_INTRAT_PERIOD 8  #define F4_INTRAT_PERIOD 8
   
 #if 0  #if 0
Line 444  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
Line 448  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
         char *str;          char *str;
         LIST list;          LIST list;
         NODE tn;          NODE tn;
           int ac;
           struct stat sbuf;
           char *fname;
           FILE *fp;
   
         asir_assert(ARG0(arg),O_N,"newbytearray");          ac = argc(arg);
         len = QTOS((Q)ARG0(arg));          if ( ac == 1 ) {
         if ( len < 0 )                  /* ARG0(arg) must be a filename */
                 error("newbytearray : invalid size");                  asir_assert(ARG0(arg),O_STR,"newbytearray");
         MKBYTEARRAY(array,len);                  fname = BDY((STRING)ARG0(arg));
         if ( argc(arg) == 2 ) {                  fp = fopen(fname,"rb");
                   if ( !fp ) error("newbytearray : fopen failed");
                   if ( stat(fname,&sbuf) < 0 ) error("newbytearray : stat failed");
                   len = sbuf.st_size;
                   MKBYTEARRAY(array,len);
                   fread(BDY(array),len,sizeof(char),fp);
           } else if ( ac == 2 ) {
                   asir_assert(ARG0(arg),O_N,"newbytearray");
                   len = QTOS((Q)ARG0(arg));
                   if ( len < 0 )
                           error("newbytearray : invalid size");
                   MKBYTEARRAY(array,len);
                 if ( !ARG1(arg) )                  if ( !ARG1(arg) )
                         error("newbytearray : invalid initialization");                          error("newbytearray : invalid initialization");
                 switch ( OID((Obj)ARG1(arg)) ) {                  switch ( OID((Obj)ARG1(arg)) ) {
Line 474  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
Line 493  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
                                 if ( !ARG1(arg) )                                  if ( !ARG1(arg) )
                                         error("newbytearray : invalid initialization");                                          error("newbytearray : invalid initialization");
                 }                  }
         }          } else
                   error("newbytearray : invalid argument");
         *rp = array;          *rp = array;
 }  }
   
Line 483  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
Line 503  void Pnewbytearray(NODE arg,BYTEARRAY *rp)
 void Pmemoryplot_to_coord(NODE arg,LIST *rp)  void Pmemoryplot_to_coord(NODE arg,LIST *rp)
 {  {
         int len,blen,y,i,j;          int len,blen,y,i,j;
         char *a;          unsigned char *a;
         NODE r0,r,n;          NODE r0,r,n;
         LIST l;          LIST l;
         BYTEARRAY ba;          BYTEARRAY ba;
Line 1262  int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn
Line 1282  int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn
                                 } else                                  } else
                                         wi[j] = 0;                                          wi[j] = 0;
   
                 if ( DP_Print ) {                  if ( DP_Print > 3 ) {
                         fprintf(asir_out,"LU decomposition.."); fflush(asir_out);                          fprintf(asir_out,"LU decomposition.."); fflush(asir_out);
                 }                  }
                 rank = find_lhs_and_lu_mod((unsigned int **)w,row,col,md,&rinfo,&cinfo);                  rank = find_lhs_and_lu_mod((unsigned int **)w,row,col,md,&rinfo,&cinfo);
                 if ( DP_Print ) {                  if ( DP_Print > 3 ) {
                         fprintf(asir_out,"done.\n"); fflush(asir_out);                          fprintf(asir_out,"done.\n"); fflush(asir_out);
                 }                  }
                 a = (Q **)almat_pointer(rank,rank); /* lhs mat */                  a = (Q **)almat_pointer(rank,rank); /* lhs mat */
Line 1305  int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn
Line 1325  int generic_gauss_elim_hensel(MAT mat,MAT *nmmat,Q *dn
                         wx = (int *)MALLOC_ATOMIC(wxsize*sizeof(int));                          wx = (int *)MALLOC_ATOMIC(wxsize*sizeof(int));
                         for ( i = 0; i < wxsize; i++ ) wx[i] = 0;                          for ( i = 0; i < wxsize; i++ ) wx[i] = 0;
                         for ( q = ONE, count = 0; ; ) {                          for ( q = ONE, count = 0; ; ) {
                                 if ( DP_Print )                                  if ( DP_Print > 3 )
                                         fprintf(stderr,"o");                                          fprintf(stderr,"o");
                                 /* wc = -b mod md */                                  /* wc = -b mod md */
                                 get_eg(&tmp0);                                  get_eg(&tmp0);

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.52

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