same2.c
Go to the documentation of this file.
00001 #include "arith.h"
00002 
00003 same2(w,en,hashtab)
00004 REAL w[MAXRANK][MAXEDGE];
00005 int en;
00006 TABLE hashtab;
00007 {
00008     VECTOR w1,w2;
00009     REAL error;
00010     int i,k,hashkey,hashval;
00011 
00012     for(i=0; i<MAXRANK; i++)
00013         w1[i]= w[i][en];
00014 
00015     hashval=hash5(w1);
00016     for(k=hashval; k<HASHNO; k++){
00017         hashkey= hashtab[k];
00018         if(hashkey == EMPTY){
00019             return(k);
00020         }
00021         else{
00022             error= 0.0e0;
00023             for(i=0; i<MAXRANK; i++){
00024                 w2[i] = w[i][hashkey];
00025                 error += fabs(w1[i] - w2[i]);
00026             }
00027             if(error < EPS * MAXRANK)
00028                 return(COLLISION);
00029         }
00030     }
00031 
00032     for(k=0; k<HASHNO; k++){
00033         hashkey= hashtab[k];
00034         if(hashkey == EMPTY){
00035             return(k);
00036         }
00037         else{
00038             error= 0.0e0;
00039             for(i=0; i<MAXRANK; i++){
00040                 w2[i] = w[i][hashkey];
00041                 error += fabs(w1[i] - w2[i]);
00042             }
00043             if(error < EPS * MAXRANK)
00044                 return(COLLISION);
00045         }
00046     }
00047 }
00048 
00049 
00050 
00051 
00052 


euslisp
Author(s): Toshihiro Matsui
autogenerated on Thu Jun 6 2019 18:05:53