models.c

Go to the documentation of this file.
00001 #include "models.h"
00002 
00003 int Power_law_no_hops(double delta, double H){
00004   int hop;
00005   double ran;
00006   ran = drand48();
00007   hop = (int) ceil(delta*pow(ran,1/H) );
00008   return(hop);
00009 }
00010 
00011 
00012 int Inet_default_no_hops(int diameter){
00013   int i;
00014   double *table;
00015   double sum,ran;
00016   int hops=-1;
00017   switch(diameter){
00018   case 20 : { table = table20;break;}
00019   case 16 : { table = table16;break;} 
00020   case 15 : { table = table15;break;}
00021   case 12 : { table = table12;break;}
00022   default : { table = table20; diameter=20; break;}
00023   }
00024   ran = drand48();
00025   sum=0;
00026   for(i=1;i<=diameter;i++){
00027     sum+=table[i-1];
00028     if(ran<sum){
00029       hops=i;
00030       break;
00031     }
00032   }
00033   if(hops==-1)
00034     hops=diameter;
00035   return(hops);
00036 }
00037 
00038 double Binomial_aggregations(double mu, double p){
00039 return(mu*ceil(log10(1-drand48())/log10(p)));
00040 }

Generated on Tue Mar 6 16:47:47 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6