38    const int NUM_NBRS{60};
    40    const float v1024[NUM_NBRS] = { 0.0,   0.0,   0.4,   0.9,   0.6,   0.9,   2.0,   3.1,   3.5,   3.9,  \
    41                                    5.1,   5.4,   8.6,   8.1,   9.8,  10.7,  11.4,  12.9,  14.5,  17.6,  \
    42                                   18.4,  20.0,  23.5,  26.0,  27.2,  28.3,  29.3,  30.9,  31.2,  34.9,  \
    43                                   38.9,  39.2,  41.1,  42.2,  43.8,  46.2,  48.0,  49.6,  51.4,  53.8,  \
    44                                   56.4,  58.0,  59.9,  60.3,  63.0,  64.0,  65.5,  66.0,  70.2,  72.0,  \
    45                                   72.5,  75.0,  77.5,  80.0,  85.0,  87.5,  90.0,  92.5,  95.0,  100.0  };
    48    const float v512[NUM_NBRS] = { 0.0,    0.0,   0.6,   0.9,   1.9,   3.8,   4.2,   5.6,   7.2,   7.5,  \
    49                                   9.6,   12.0,  16.0,  18.6,  20.6,  22.4,  23.4,  27.5,  28.2,  30.1,  \
    50                                  33.9,   36.9,  40.8,  41.2,  44.6,  51.1,  49.6,  54.5,  56.4,  57.9,  \
    51                                  59.6,   62.7,  64.0,  68.0,  69.0,  71.3,  72.8,  74.2,  75.0,  79.6,  \
    52                                  82.1,   83.0,  83.4,  85.1,  86.7,  87.9,  89.1,  89.7,  91.5,  92.0,  \
    53                                  98.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    56   const float v256[NUM_NBRS] =  { 0.0,   0.2,    0.8,   3.1,   4.4,   5.1,   6.7,   9.7,  12.7,  15.4,  \
    57                                  20.2,  21.6,   26.3,  31.7,  33.2,  39.3,  40.8,  44.5,  47.6,  54.1,  \
    58                                  56.6,  59.9,   63.7,  67.5,  68.3,  74.2,  76.2,  76.8,  81.1,  83.1,  \
    59                                  86.3,  86.3,   86.4,  89.7,  91.4,  91.8,  93.3,  94.2,  96.2,  97.1,  \
    60                                  98.0,  99.3,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    61                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    64   const float v128[NUM_NBRS] =  { 0.0,   0.8,    2.8,   4.3,   8.2,  10.6,  16.6,  19.6,  22.9,  28.2,  \
    65                                  38.4,  39.8,   48.0,  51.0,  57.2,  64.3,  67.1,  71.4,  76.3,  77.8,  \
    66                                  84.2,  85.6,   89.2,  89.5,  90.9,  94.2,  94.5,  95.7,  96.2,  97.6,  \
    67                                  98.9,  99.3,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    68                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    69                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    72   const float v64[NUM_NBRS] =  {  0.0,   0.9,    5.5,   9.5,  15.2,  21.5,  28.5,  34.9,  44.7,  49.4,  \
    73                                  60.6,  69.9,   72.1,  80.3,  83.3,  87.7,  90.0,  93.1,  94.6,  95.7,  \
    74                                  97.5,  98.4,   98.7,  99.0,  99.3,  99.6,  99.7, 100.0, 100.0, 100.0,  \
    75                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    76                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    77                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    80   const float v32[NUM_NBRS] = {   0.0,   3.5,    9.5,  18.2,  27.5,  39.3,  50.6,  61.2,  71.8,  76.2,  \
    81                                  84.3,  88.9,   94.3,  96.6,  97.7,  99.0, 100.0, 100.0, 100.0, 100.0,  \
    82                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    83                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    84                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    85                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    88   const float v16[NUM_NBRS] = {   0.0,   5.8,   18.2,  32.6,  49.8,  64.8,  76.9,  86.8,  93.2,  96.1,  \
    89                                  99.0,  99.6,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    90                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    91                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    92                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    93                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
    96   const float v8[NUM_NBRS] = {   0.0,   14.0,   32.0,  59.5,  78.5,  88.8,  95.8,  98.0, 100.0, 100.0,  \
    97                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    98                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
    99                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   100                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   101                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
   104   const float v4[NUM_NBRS] = {    0.0,  25.0,   62.5,  90.6, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   105                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   106                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   107                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   108                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   109                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
   112   const float v2[NUM_NBRS] = {    0.0,  50.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
   113                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   114                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   115                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   116                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   117                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
   120   const float v1[NUM_NBRS] = {    0.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
   121                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   122                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   123                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   124                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,  \
   125                                 100.0, 100.0,  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0   };
   128   const int NUM_CW {11};
   130   const float *TABLE[NUM_CW] = { v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, v1024 };
   148   else if(num > NUM_NBRS)
   171    for(
int i = 0; i < NUM_CW; ++i, tbl *= 2)
   180                return TABLE[i][num - 1];
   186                return interpolate(tbl / 2, tbl, TABLE[i - 1][num - 1], TABLE[i][num - 1], cw);
   198 EMANE::Models::IEEE80211ABG::CollisionTable::interpolate(
float x0, 
float x1, 
float y0, 
float y1, 
float x)
   200    const float deltaX{x1 - x0};
   202    const float deltaY{y1 - y0};
   204    const float m{deltaX == 0.0f ? 0.0f : deltaY / deltaX};
   206    return y0 + (x - x0) * m;
 
float getCollisionFactor(int num, int cw)