models.c
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #include "models.h"
  2. int Power_law_no_hops(double delta, double H){
  3.   int hop;
  4.   double ran;
  5.   ran = drand48();
  6.   hop = (int) ceil(delta*pow(ran,1/H) );
  7.   return(hop);
  8. }
  9. int Inet_default_no_hops(int diameter){
  10.   int i;
  11.   double *table;
  12.   double sum,ran;
  13.   int hops=-1;
  14.   switch(diameter){
  15.   case 20 : { table = table20;break;}
  16.   case 16 : { table = table16;break;} 
  17.   case 15 : { table = table15;break;}
  18.   case 12 : { table = table12;break;}
  19.   default : { table = table20; diameter=20; break;}
  20.   }
  21.   ran = drand48();
  22.   sum=0;
  23.   for(i=1;i<=diameter;i++){
  24.     sum+=table[i-1];
  25.     if(ran<sum){
  26.       hops=i;
  27.       break;
  28.     }
  29.   }
  30.   if(hops==-1)
  31.     hops=diameter;
  32.   return(hops);
  33. }
  34. double Binomial_aggregations(double mu, double p){
  35. return(mu*ceil(log10(1-drand48())/log10(p)));
  36. }