File: models.c

package info (click to toggle)
ns2 2.35%2Bdfsg-2.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 78,780 kB
  • ctags: 27,490
  • sloc: cpp: 172,923; tcl: 107,130; perl: 6,391; sh: 6,143; ansic: 5,846; makefile: 816; awk: 525; csh: 355
file content (40 lines) | stat: -rw-r--r-- 783 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "models.h"

int Power_law_no_hops(double delta, double H){
  int hop;
  double ran;
  ran = drand48();
  hop = (int) ceil(delta*pow(ran,1/H) );
  return(hop);
}


int Inet_default_no_hops(int diameter){
  int i;
  double *table;
  double sum,ran;
  int hops=-1;
  switch(diameter){
  case 20 : { table = table20;break;}
  case 16 : { table = table16;break;} 
  case 15 : { table = table15;break;}
  case 12 : { table = table12;break;}
  default : { table = table20; diameter=20; break;}
  }
  ran = drand48();
  sum=0;
  for(i=1;i<=diameter;i++){
    sum+=table[i-1];
    if(ran<sum){
      hops=i;
      break;
    }
  }
  if(hops==-1)
    hops=diameter;
  return(hops);
}

double Binomial_aggregations(double mu, double p){
return(mu*ceil(log10(1-drand48())/log10(p)));
}