www.pudn.com > eval-1.2.zip > misc.c



#include 
#include 
#include 
#include 
#include 
#include 

#include "misc.h"

int ToLower(int c)
{
  static const char lower[] = "abcdefghijklmnopqrstuvwxyzäöü";
  static const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ";

  char *p = strchr(upper, c);
  return p ? lower[p - upper] : c; 
}

int Max(unsigned ar[], int n, unsigned max_lim)
{
  int i, imax = 0;
  unsigned max = ar[0];

  for (i=1; i max) {
      max = ar[i];
      imax = i;
    }

  return imax;
}

int Min(unsigned ar[], int n, unsigned min_lim)
{
  int i, imin = 0;
  unsigned min = ar[0];

  for (i=1; i min_lim && ar[i] < min) {
      min = ar[i];
      imin = i;
    }

  return imin;
}

unsigned Sum(unsigned ar[], int n)
{
  unsigned sum = 0;

  int i;
  for (i=0; i>= 1)
      ;

  return l;
}

void MeanBits(char **buf, unsigned l, char *c, unsigned size)
{
  unsigned i, j, k, n;

  for (i=0; i l/2) SETBIT(c[i], j);
    }
}

void ClearPacks(unsigned char **pack, unsigned num, unsigned size)
{
  unsigned i, j;

  for (i=0; i<=num; i++) for (j=0; j num/2;
  }

  for (n=0, i=0; i= 0 && pD[start].tr[dir] - pD[i].tr[dir] < off) {
    if (!pD[i].lost[dir]) {
      sum += pD[i].signal[dir];
      j++;
    }
    i--;
  }

  return j ? sum / j : 0;
}

double Std(tcpdump_t *pD, DIR dir, int start, double off, double avg)
{
  int i = start, j = 0;
  double v = 0;

  if (avg == DBL_MAX) avg = Avg(pD, dir, start, off);

  while (i >= 0 && pD[start].tr[dir] - pD[i].tr[dir] < off) {
    if (!pD[i].lost[dir]) {
      v += (pD[i].signal[dir] - avg) * (pD[i].signal[dir] - avg);
      j++;
    }
    i--;
  }

  return sqrt(j - 1 ? v / (j - 1) : 0);
}

void LinApprox(double *x, double *y, unsigned l, unsigned num, double *a, double *b)
{
  unsigned i;
  double sx = 0, sy = 0, sxx = 0, sxy = 0;

  if (num > l) num = l;

  for (i=l-num; i