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

Diff for /OpenXM_contrib2/asir2000/engine/nd.c between version 1.109 and 1.110

version 1.109, 2004/09/21 04:50:15 version 1.110, 2004/09/21 05:23:14
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.108 2004/09/21 02:43:11 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.109 2004/09/21 04:50:15 noro Exp $ */
   
 #include "nd.h"  #include "nd.h"
   
Line 2579  void removecont_array(Q *c,int n)
Line 2579  void removecont_array(Q *c,int n)
 {  {
         struct oVECT v;          struct oVECT v;
         Q d0,d1,a,u,u1,gcd;          Q d0,d1,a,u,u1,gcd;
         int i;          int i,j;
         N qn,rn,gn;          N qn,rn,gn;
         Q *q,*r;          Q *t,*q,*r;
   
           t = (Q *)ALLOCA(n*sizeof(Q));
           for ( i = j = 0; i < n; i++ )
                   if ( c[i] )
                           t[j++] = c[i];
           n = j;
           c = t;
         q = (Q *)ALLOCA(n*sizeof(Q));          q = (Q *)ALLOCA(n*sizeof(Q));
         r = (Q *)ALLOCA(n*sizeof(Q));          r = (Q *)ALLOCA(n*sizeof(Q));
         v.id = O_VECT; v.len = n; v.body = (pointer *)c;          v.id = O_VECT; v.len = n; v.body = (pointer *)c;
Line 3857  int ndv_reduce_vect_q(Q *svect,int col,IndArray *imat,
Line 3863  int ndv_reduce_vect_q(Q *svect,int col,IndArray *imat,
                         len = LEN(redv); mr = BDY(redv);                          len = LEN(redv); mr = BDY(redv);
                         igcd_cofactor(svect[k],CQ(mr),&gcd,&cs,&cr);                          igcd_cofactor(svect[k],CQ(mr),&gcd,&cs,&cr);
                         chsgnq(cs,&mcs);                          chsgnq(cs,&mcs);
                         for ( j = 0; j < col; j++ ) {                          if ( !UNIQ(cr) ) {
                                 mulq(svect[j],cr,&c1); svect[j] = c1;                                  for ( j = 0; j < col; j++ ) {
                                           mulq(svect[j],cr,&c1); svect[j] = c1;
                                   }
                         }                          }
                         svect[k] = 0; prev = k;                          svect[k] = 0; prev = k;
                         switch ( ivect->width ) {                          switch ( ivect->width ) {

Legend:
Removed from v.1.109  
changed lines
  Added in v.1.110

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