cone_post.c
Go to the documentation of this file.
00001 /* Oct 12, 1990.  Bug fix.  substitute V2 to w based on the rank(C) */
00002 
00003 #include "arith.h"
00004 
00005 cone_post(s,v,r,n,linetab,start,m,w)
00006 MATRIX s;
00007 MATRIX v;
00008 int r[MAX],n;
00009 LINE linetab[MAXEDGE];
00010 int start,m;
00011 REAL w[MAXRANK][MAXEDGE];
00012 {
00013    TABLE hashtab;
00014    int i,j,k,en,hash;
00015 
00016     for(i=0; i<HASHNO; i++)
00017         hashtab[i]= EMPTY;
00018 
00019     en=0;
00020     for(k=start; k<m; k=linetab[k].next){
00021         for(i=0; i<MAXRANK; i++){
00022             w[i][en]=0.0e0;
00023             for(j=0; j<r[n]; j++){
00024                 w[i][en] += v[i][j] * linetab[k].s[j];
00025             }
00026         }
00027         hash=same(w,en,hashtab);
00028         if(hash != COLLISION){
00029             hashtab[hash]=en;
00030             en += 1;
00031         }
00032     }
00033 
00034 /*   printf("edge number = %d\n",en); */
00035 
00036     for(j=r[n]; j<MAXRANK; j++){
00037       for(i=0; i<MAXRANK; i++){
00038         w[i][en]= v[i][j];
00039         w[i][en+1]= -v[i][j];
00040       }
00041       en += 2;
00042     }
00043 
00044     return(en);
00045 }


euslisp
Author(s): Toshihiro Matsui
autogenerated on Thu Sep 3 2015 10:36:19