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

Diff for /OpenXM_contrib2/asir2000/builtin/dp-supp.c between version 1.64 and 1.65

version 1.64, 2016/03/31 08:43:25 version 1.65, 2017/03/27 09:05:46
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/dp-supp.c,v 1.63 2016/03/31 07:33:32 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/dp-supp.c,v 1.64 2016/03/31 08:43:25 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 206  void dp_mbase(NODE hlist,NODE *mbase)
Line 206  void dp_mbase(NODE hlist,NODE *mbase)
 {  {
         DL *dl;          DL *dl;
         DL d;          DL d;
         int i,j,n,nvar,td;    int *t;
           int i,j,k,n,nvar,td;
   
         n = length(hlist); nvar = ((DP)BDY(hlist))->nv;          n = length(hlist); nvar = ((DP)BDY(hlist))->nv;
         dl = (DL *)MALLOC(n*sizeof(DL));          dl = (DL *)MALLOC(n*sizeof(DL));
         for ( i = 0; i < n; i++, hlist = NEXT(hlist) )  
                 dl[i] = BDY((DP)BDY(hlist))->dl;  
         NEWDL(d,nvar); *mbase = 0;          NEWDL(d,nvar); *mbase = 0;
           for ( i = 0; i < n; i++, hlist = NEXT(hlist) ) {
                   dl[i] = BDY((DP)BDY(hlist))->dl;
       /* trivial ideal check */
                   if ( (*cmpdl)(nvar,d,dl[i]) == 0 ) {
         return;
       }
     }
     /* zero-dim. ideal check */
     for ( i = 0; i < nvar; i++ ) {
       for ( j = 0; j < n; j++ ) {
         for ( k = 0, t = dl[j]->d; k < nvar; k++ )
           if ( k != i && t[k] != 0 ) break;
         if ( k == nvar ) break;
       }
       if ( j == n )
         error("dp_mbase : input ideal is not zero-dimensional");
     }
         while ( 1 ) {          while ( 1 ) {
                 insert_to_node(d,mbase,nvar);                  insert_to_node(d,mbase,nvar);
                 for ( i = nvar-1; i >= 0; ) {                  for ( i = nvar-1; i >= 0; ) {

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.65

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