; 随机休眠,平均1秒,标准差100毫秒 By Tebayaki
SetBatchLines -1

Loop {
  t := RandomSleep(1000, 100)
  ToolTip % t "`n"
}


RandomSleep(mean, std) {
  t := GaussRand(mean, std)
  if (t <= 0 || t >= 2 * mean)
    t := mean
  Sleep t
  return t
}

GaussRand(mu := 0, sigma := 1) {
  Loop {
    Random, u1, 0.0, 1.0
    Random, _, 0.0, 1.0
    u2 := 1.0 - _
    z := 1.7155277699214135 * (u1 - 0.5) / u2
    zz := z * z / 4.0
    if (zz <= -Ln(u2))
      break
  }
  return mu + z * sigma
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。