Go to the documentation of this file.00001
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
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 }