math_util.cc

来自「这是关于覆盖网的各种负载均衡算法的程序。好好研究」· CC 代码 · 共 54 行

CC
54
字号
/* $Id: math_util.cc,v 1.8 2005/08/02 19:35:49 jonathan Exp $ * Jonathan Ledlie, Harvard University. * Copyright 2005.  All rights reserved. */#include "error.h"#include "math_util.h"double poisson (double mean) {  double u;  while ((u = randPct()) == 0.);  return (-mean) * log(u);};int poisson (int mean) {  return (int)(poisson((double)mean));}double mean (vector<double> v) {  double sum = 0.;  for (int i = 0; i < v.size(); i++) {    sum += v[i];  }  return sum/(double)v.size();}double square (double x) {  return x*x;}double stddev (vector<double> v, double mean) {  double sum = 0.;  if (v.size() <= 1) return 0.;  for (int i = 0; i < v.size(); i++) {    sum += pow(v[i]-mean,2);  }  return sqrt (sum/(v.size()-1));}double randPct () {  double ret = Rand ();  ASSERT (ret >= 0. && ret < 1);  return ret;}// Returns a number (a,b]int unifRand (int a, int b) {  ASSERT (a >= 0 && b >= 0);  int diff = ABS ((a-b));  int randValue = (int)(Rand()*(double)diff);  return (int)(a + randValue);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?