Advertisement
eu_tomat

test-geo-scanx.lua

Mar 23rd, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.78 KB | None | 0 0
  1. --################################################################################
  2. -- тест кратных сканирований геосканером
  3. --################################################################################
  4. local xx=30   -- максимальная кратность сканирований
  5. local qq=1000 -- максимальное количество кратных сканирований
  6. local d0=1.5  -- теоретическая плотность сканируемого блока
  7. --################################################################################
  8. local geo=require('component').geolyzer
  9.  
  10. -- таблица однократных сканирований
  11. local scan = {} for i=1,qq+xx do scan[i]=geo.scan(0,0,32,1,1,1,true)[1]end
  12. --================================================================================
  13. -- вычисление и печать минимума и максимума кратных сканирований
  14. -- x: кратность сканирования
  15. -- q: количество кратных скаринований
  16. local function CalcScanX( x,q )
  17.   local s,sMin,sMax = 0,d0,d0
  18.   local sum=0 for i=1,x do sum=sum+scan[i] end
  19.   for i=1+x,q+x do
  20.     sum = sum - scan[i-x] + scan[i]
  21.     s = sum/x
  22.     if sMin>s then sMin=s end
  23.     if sMax<s then sMax=s end
  24.   end
  25.   print(string.format("q=%-4d %2dx [%5.3f-%-5.3f]", q,x,sMin,sMax))
  26. end
  27. --################################################################################
  28. CalcScanX(  1,100 ) -- 100 простых сканирований
  29. CalcScanX(  3,100 ) -- 100 3-кратных сканирований
  30. CalcScanX( 10,100 )
  31. CalcScanX( 30,100 )
  32. CalcScanX( 30,1000 )
  33. --################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement